@font-face{font-family:PUBG_SANS;src:url("assets/PUBG_SANS.ttf") format("truetype");font-display:swap}
:root{color-scheme:dark;--blue:#1668dc;--bg:#0e0e0e;--panel:#141414;--line:#424242;--text:#fff;--muted:#ffffff9f;--entity-compensate:1}
*{box-sizing:border-box}
html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg)}
body{color:#333;font:13px/1.15 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,"Segoe UI",Arial,Roboto,"PingFang SC",MIUI,"Hiragino Sans GB","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #4096ff;outline-offset:2px}[hidden]{display:none!important}

.eac-screen-content{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;background:#0e0e0e}
.eac-screen-content-box{display:flex;align-items:center;justify-content:center;flex-direction:column}
.eac-title{display:flex;flex-direction:column;align-items:center;font-size:55px;font-weight:700}.eac-title span{padding:5px 10px;border-radius:5px;background:#000;color:#0e0e0e;font-size:14px}.eac-title span b{color:#ffffff9f}
.eac-desc{font-size:25px;font-weight:700;opacity:.6}.eac-sm{font-size:15px;font-weight:700;opacity:.6}
.loader{position:relative;width:48px;height:48px;margin-bottom:8px}.blur-circle,.sector{position:absolute;inset:0;border-radius:50%}.blur-circle{border:1px solid #ffffff59;background:#78b4ff2e;backdrop-filter:blur(8px)}.sector{background:conic-gradient(from -90deg,#0078fff2 0deg 60deg,#0078ff73 60deg 90deg,#0000 90deg 1turn);filter:drop-shadow(0 0 8px #008cff99);animation:spin 2s linear infinite}.center-ring{position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);border:3px solid #fff;border-radius:50%;background:#1668dc}@keyframes spin{to{transform:rotate(1turn)}}

.radar-home{position:fixed;inset:0;z-index:800;display:flex;align-items:center;justify-content:center;flex-direction:column;width:100vw;height:100dvh;opacity:0;filter:blur(10px);pointer-events:none;background:#12121277;backdrop-filter:blur(8px)}
.radar-home.show{opacity:1;filter:blur(0);pointer-events:auto;transition:opacity .3s,filter .3s}
.radar-home-box{display:flex;align-items:center;justify-content:center;flex-direction:column;width:307px;min-height:383px;padding:42px 50px 20px;border:1px solid #ffffff1a;border-radius:12px;background:#1717176c;backdrop-filter:blur(10px)}
.radar-home-logo{width:112px;height:112px;margin-bottom:10px;border-radius:24px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(65,255,139,.28));user-select:none}.radar-home-title{margin-bottom:16px;color:#fff;font-size:22px;font-weight:700;letter-spacing:.08em}
.ant-input{width:205px;height:40px;padding:7px 11px;border:1px solid transparent;border-radius:6px;background:#ffffff0a;color:#fff;text-align:center;font-size:16px;transition:all .2s}.ant-input::placeholder{color:#ffffff40}.ant-input:hover{background:#ffffff12}.ant-input:focus{border-color:#1668dc;background:#ffffff0f;box-shadow:0 0 0 2px #1668dc33;outline:0}
.login-password{margin-top:8px}
.ant-btn{display:flex;align-items:center;justify-content:center;gap:8px;height:32px;padding:0 15px;border:1px solid transparent;border-radius:6px;color:#fff;background:#303030}.ant-btn-primary{background:#1668dc;box-shadow:0 2px 0 #003cb426}.ant-btn-primary:hover{background:#3c89e8}.ant-btn:active{transform:scale(.98)}.radar-home-button{width:205px;margin-top:16px}
.radar-home-desc{min-height:16px;margin-top:12px;color:#e64954;font-size:12px;font-weight:700;opacity:0;text-align:center;transition:opacity .2s}.radar-home-desc.show{opacity:1;animation:shake .3s}@keyframes shake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}

.radar-scene{position:fixed;inset:0;background:#0e0e0e}.map-viewport{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab}.map-viewport.dragging{cursor:grabbing}.map-plane{position:absolute;left:0;top:0;width:var(--map-size,min(100vw,100vh));height:var(--map-size,min(100vw,100vh));transform:translate3d(var(--map-left,0px),var(--map-top,0px),0);transform-origin:0 0;will-change:transform}.map-image,.map-tile-layer{position:absolute;inset:0;width:100%;height:100%;user-select:none;pointer-events:none}.map-image{z-index:0;display:block;object-fit:cover;-webkit-user-drag:none;image-rendering:auto}.map-tile-layer{z-index:1;overflow:hidden;contain:strict}.map-tile{position:absolute;display:block;object-fit:fill;user-select:none;-webkit-user-drag:none;image-rendering:auto}.zone-layer{z-index:2}.entity-overlay{position:absolute;z-index:4;overflow:visible;pointer-events:none;contain:layout style}.zone-layer,.entity-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.zone-layer{overflow:visible;shape-rendering:geometricPrecision}.zone-layer #blue-zone{fill:rgba(0,0,255,.25)}.zone-layer #safe-zone{fill:none;stroke:#fff;stroke-width:1;vector-effect:non-scaling-stroke}
.map-help{position:fixed;left:50%;bottom:10px;z-index:8;transform:translateX(-50%);padding:5px 9px;color:#ffffff70;background:#0008;font:11px PUBG_SANS;border-radius:3px;opacity:0;transition:opacity .2s}.radar-scene:hover .map-help{opacity:1}
.map-loading{position:fixed;left:50%;top:50%;z-index:18;display:flex;align-items:center;gap:10px;transform:translate(-50%,-50%);padding:11px 15px;border:1px solid #ffffff1f;border-radius:12px;background:#11151de8;color:#f5f7fa;box-shadow:0 12px 32px #0009;font:600 13px/1.2 -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","PingFang SC",sans-serif;pointer-events:none}.map-loading i{width:17px;height:17px;border:2px solid #ffffff38;border-top-color:#64d2ff;border-radius:50%;animation:spin .8s linear infinite}
.map-entity{position:absolute;transform:translate(-50%,-50%);transform-origin:center;color:#fff;text-shadow:1px 0 0 #000,-1px 0 0 #000,0 1px 0 #000,0 -1px 0 #000;white-space:nowrap;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.player-marker{--team:#ff3d99}.player-dot{position:relative;width:16px;height:16px;margin:auto;border:2px solid #fff;border-radius:50%;background:var(--team);box-shadow:0 0 0 2px #0009}.player-dot::after{position:absolute;left:50%;bottom:12px;width:2px;height:20px;content:"";transform:translateX(-50%) rotate(var(--heading));transform-origin:center bottom;background:var(--team)}.player-label{position:absolute;left:50%;bottom:21px;transform:translateX(-50%);padding:2px 5px;background:#000a;font-family:PUBG_SANS;font-size:12px;font-weight:700;text-align:center}.player-label small{display:block;color:#e8e8e8;font-size:9px;letter-spacing:.3px}.vehicle-marker{padding:3px 6px;border:1px solid #ffb74d;background:#000b;color:#ffcf77;font:700 10px PUBG_SANS}.item-marker{display:flex;align-items:center;gap:3px;padding:2px 4px;border-radius:2px;background:#000b;color:#fafab5;font:700 9px PUBG_SANS}.item-marker.image-mode::before{content:"";width:10px;height:10px;border-radius:2px;background:currentColor;box-shadow:inset 0 0 0 2px #0008}

.gui{position:fixed;left:0;top:0;z-index:999}.setting-btn{position:absolute;left:10px;top:10px;display:flex;align-items:center;justify-content:center;width:33px;height:33px;padding:0;border:0;background:#0008;color:#fff;font-size:22px;backdrop-filter:blur(4px);transition:transform .3s}.setting-btn:active{transform:scale(.95)}.setting-btn svg{width:23px;height:23px;fill:currentColor}
.spectated-group{position:absolute;left:55px;top:10px;display:flex;flex-direction:row;gap:10px}.spectated{display:flex;align-items:center;height:33px;flex-shrink:0;background:#00000059;backdrop-filter:blur(6px)}.spectated .lable,.spectated .value{height:33px;padding:0 8px;color:#fff;flex-shrink:0}.spectated .lable{box-sizing:border-box;background:#00000059;font-size:16px;font-weight:700;line-height:33px}.spectated .value{display:flex;align-items:center;justify-content:center;margin-top:5px;font:20px PUBG_SANS;letter-spacing:2px;text-align:center}
.fps{position:fixed;right:21px;top:21px;z-index:30;color:#fff;font:700 14px PUBG_SANS;letter-spacing:2px;opacity:.5}.update-button{position:fixed;right:6px;bottom:6px;z-index:30;display:grid;place-items:center;width:52px;height:52px;padding:0;border:0;border-radius:50%;color:#fff;background:transparent}.update-button:hover{background:#ffffff12}.update-button:active{transform:rotate(-25deg) scale(.96)}.update-button svg{width:34px;height:34px;fill:currentColor}

.settings-popover{position:fixed;left:0;top:55px;z-index:1000;min-width:282px;max-width:min(95vw,560px);max-height:calc(100dvh - 64px);border-radius:8px;background:#1f1f1f;color:#fff;box-shadow:0 6px 16px #0008;animation:popover-in .16s ease-out}.popover-arrow{position:absolute;left:14px;top:-6px;width:12px;height:12px;transform:rotate(45deg);background:#1f1f1f}.segmented{position:relative;display:flex;gap:2px;padding:12px 12px 8px;border-bottom:1px solid #ffffff10}.segment{min-width:46px;height:28px;padding:0 8px;border:0;border-radius:6px;color:#ffffffa6;background:transparent;white-space:nowrap}.segment:hover{color:#fff;background:#ffffff0f}.segment.selected{color:#fff;background:#424242}.settings-content{min-width:282px;max-height:calc(100dvh - 116px);padding:12px;overflow:auto;overscroll-behavior:contain}.settings-content::-webkit-scrollbar{width:6px}.settings-content::-webkit-scrollbar-thumb{border-radius:8px;background:#ffffff28}@keyframes popover-in{from{opacity:0;transform:scale(.95) translateY(-4px)}}
.h4-title{display:flex;align-items:center;margin:10px 0 12px;font-size:14px}.h4-title:first-child{margin-top:0}.h4-title::before{width:4px;height:12px;margin-right:8px;border-radius:2px;background:#1668dc;content:""}.radio-stack{display:flex;flex-direction:column;gap:8px}.control-label,.check-control,.radio-control{display:flex;align-items:center;gap:8px;min-height:26px;color:#fff;cursor:pointer}.radio-control input,.check-control input{accent-color:#1668dc}.bind-input{width:200px;height:32px;margin:8px 0 0 20px;padding:4px 11px;border:1px solid #424242;border-radius:6px;background:#141414;color:#fff}.bind-input:focus{border-color:#1668dc;outline:0}
.button-group{display:inline-flex}.choice-button{height:32px;padding:0 15px;border:1px solid #424242;color:#fff;background:#141414}.choice-button:first-child{border-radius:6px 0 0 6px}.choice-button:last-child{border-radius:0 6px 6px 0}.choice-button.active{border-color:#1668dc;background:#1668dc}.team-colors{display:flex;flex-wrap:wrap;gap:8px;width:256px}.team-color-row{display:flex;align-items:center;gap:8px}.color-trigger{display:flex;align-items:center;gap:8px;width:56px;height:32px;padding:4px 7px;border:1px solid #424242;border-radius:6px;background:#141414;color:#fff}.color-trigger input{position:absolute;width:1px;height:1px;opacity:0}.color-block{width:18px;height:18px;border:1px solid #ffffff35;border-radius:3px;background:var(--color)}
.accordion{border:1px solid #424242;border-radius:6px;overflow:hidden}.accordion-item+.accordion-item{border-top:1px solid #424242}.accordion-button{display:flex;align-items:center;width:100%;height:32px;padding:0 12px;border:0;color:#fff;background:#141414;text-align:left}.accordion-button::before{margin-right:8px;content:"▸"}.accordion-item.open .accordion-button::before{transform:rotate(90deg)}.accordion-panel{display:none;padding:8px 12px;background:#1d1d1d;color:#ffffffa6}.accordion-item.open .accordion-panel{display:flex;gap:8px;flex-wrap:wrap}.export-row{display:flex;gap:12px}.secondary-button,.primary-button{height:32px;padding:0 15px;border:1px solid #424242;border-radius:6px;color:#fff;background:#141414}.primary-button{border-color:#1668dc;background:#1668dc}
.display-container{width:268px}.language-row{margin-bottom:16px}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.slider-box{display:grid;grid-template-columns:76px 1fr 32px;align-items:center;gap:8px}.slider-box h4{font-size:14px}.slider-box input[type=range]{width:100%;accent-color:#1677ff}.slider-value{color:#ffffffa6;font:12px PUBG_SANS;text-align:right}.server-row{display:flex;width:100%}.server-prefix{display:grid;place-items:center;height:32px;padding:0 10px;border:1px solid #424242;border-radius:6px 0 0 6px;background:#242424;color:#ffffffa6}.server-input{min-width:180px;height:32px;padding:4px 9px;border:1px solid #424242;border-left:0;background:#141414;color:#fff}.server-save{height:32px;padding:0 14px;border:0;border-radius:0 6px 6px 0;background:#1668dc;color:#fff}.about{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:32px 0}.about-logo{display:grid;place-items:center;width:100px;height:100px;border-radius:50%;background:linear-gradient(145deg,#1a73e8,#0d47a1);font:700 28px PUBG_SANS;color:#fff}.about-name{margin-top:12px;color:#fff;font-size:24px;font-weight:700}.about-version{color:#fff;font-size:16px;font-weight:700}.about-contact{margin-top:12px}
.server-account{margin:14px 0;color:#ffffffa6}

.team-players{position:fixed;left:12px;bottom:24px;z-index:25;display:flex;flex-direction:column;color:#fff;transform:scale(.8);transform-origin:left bottom}.team-players-item{display:flex;flex-direction:column;width:300px;height:34px;margin-top:18px;padding:1px 1px 0;background:#0008;backdrop-filter:blur(8px)}.team-players-item-user{display:flex;align-items:center}.team-players-item-user-index{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding-top:4px;font:18px PUBG_SANS;text-shadow:0 0 1.5px #000}.team-players-item-user-name{display:flex;align-items:center;flex:1;margin-left:4px;font-size:16px}.team-players-item-health{flex:1;height:8px;margin-bottom:1px;background:#000}.team-players-item-health>div{height:7px;margin-top:1px;background:#fff}.team-players-item-health>div.health-red{background:red}.team-players-item-health>div.health-full{background:#949596}
.items-check{display:flex;align-items:center;justify-content:space-between;width:300px;height:46px;padding-right:12px;background:#00000059;backdrop-filter:blur(6px)}.items-check::before{display:inline-block;width:60px;height:46px;margin-right:12px;background:#00000059;content:"物资";font-size:19px;font-weight:700;line-height:46px;text-align:center}.items-check button{width:28px;height:28px;margin-right:12px;border:0;border-radius:6px;background:#fafafa;color:#111}.items-check button.off{opacity:.28}
.toast{position:fixed;left:50%;bottom:64px;z-index:1500;transform:translateX(-50%);padding:8px 14px;border-radius:6px;background:#111e;color:#fff;box-shadow:0 6px 20px #0009}

@media(max-width:640px){.spectated-group{gap:4px}.spectated .lable{font-size:12px;padding:0 5px}.spectated .value{font-size:16px;padding:0 5px}.fps{right:8px;top:52px;font-size:11px}.radar-home-box{width:calc(100vw - 28px);max-width:307px;padding:42px 36px 20px}.settings-popover{right:6px;left:6px;max-width:none}.segmented{overflow-x:auto}.segment{flex:1;min-width:54px;padding:0 6px}.settings-content{max-height:calc(100dvh - 122px)}.team-players{left:4px;bottom:14px;transform:scale(.62)}.update-button{right:4px;bottom:max(4px,env(safe-area-inset-bottom))}.map-help{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Target-site player / object renderer: direction reticle, health sector and outlined map text. */
.gix-target-player{z-index:6;width:44px;height:44px;margin:-22px 0 0 -22px;overflow:visible;transform:none;text-shadow:none;contain:layout style}
.gix-target-player .player-visual{position:relative;width:44px;height:44px;zoom:1;transform:none}
.gix-target-player .player-aim{position:absolute;inset:1px;background:var(--team);-webkit-mask:url("assets/player-aim.png") center/contain no-repeat;mask:url("assets/player-aim.png") center/contain no-repeat;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--team) 72%,transparent));transform:rotate(calc(var(--heading,0deg) + 90deg)) scale(var(--player-ui-scale,1));transform-origin:center}
.gix-target-player .player-dot{position:absolute;left:50%;top:50%;width:18px;height:18px;margin:0;overflow:hidden;border:2px solid #f8fbff;border-radius:50%;background:#111;box-shadow:0 0 0 1px var(--team),0 0 0 2px #050505;transform:translate(-50%,-50%) scale(var(--player-ui-scale,1))}
.gix-target-player .player-dot::after{display:none}
.gix-target-player .player-health-sector{position:absolute;inset:1px;border-radius:50%;background:conic-gradient(from -90deg,var(--health-color,#35e86f) 0 var(--health-angle,360deg),#151515 var(--health-angle,360deg) 1turn)}
.gix-target-player .player-dot em{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:800 var(--player-team-size,10px)/1 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",Arial,sans-serif;font-style:normal;text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000}
.gix-target-player .player-label{position:absolute;left:50%;top:var(--player-label-offset,44px);bottom:auto;width:220px;min-width:0;max-width:none;margin-left:-110px;padding:0;border:0;border-radius:0;overflow:visible;background:none;box-shadow:none;transform:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;line-height:1.25;text-align:center;letter-spacing:0;backdrop-filter:none;-webkit-backdrop-filter:none;-webkit-font-smoothing:auto;font-synthesis:none;font-kerning:normal;text-rendering:optimizeLegibility}
.gix-target-player .player-label strong,.gix-target-player .player-label small{display:block;overflow:hidden;text-overflow:ellipsis;color:var(--team);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Variable","Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;font-weight:800;font-variant-numeric:tabular-nums;text-shadow:-1px 0 #050505,1px 0 #050505,0 -1px #050505,0 1px #050505}
.gix-target-player .player-label strong{max-width:none;font-size:var(--player-name-size,14px);line-height:1.2}
.gix-target-player .player-label small{margin-top:2px;color:#fff;font-size:var(--player-detail-size,11px);font-weight:750;line-height:1.28;letter-spacing:0}
.gix-target-player.is-self .player-label strong{color:var(--team)}
.gix-target-player.is-self .player-dot{box-shadow:0 0 0 2px #35e86f,0 0 0 3px #050505}
.gix-target-player.is-followed{z-index:10}.gix-target-player.is-followed .player-dot{outline:2px solid var(--team);outline-offset:3px;filter:drop-shadow(0 0 7px var(--team))}.gix-target-player.is-followed .player-label strong{filter:drop-shadow(0 0 4px var(--team))}

.item-marker.gix-target-object,.vehicle-marker.gix-target-object{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-family:PUBG_SANS,"Arial Narrow","Microsoft YaHei",sans-serif;transform:translate(-50%,-50%) scale(calc(var(--entity-compensate) * var(--airdrop-ui-scale,1)))}
.gix-target-object b{max-width:180px;overflow:hidden;color:#fff;font-size:10px;font-weight:800;text-overflow:ellipsis;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 4px #000}
.item-marker.gix-target-object .object-icon{display:grid;place-items:center;width:34px;height:32px;border:0;border-radius:0;background:none;color:inherit;font:inherit;filter:drop-shadow(0 1px 1px #000)}
.item-marker.gix-target-object .object-icon img{display:block;width:32px;height:30px;object-fit:contain}
.item-marker.gix-target-object.text-mode .object-icon{width:9px;height:9px;border:1px solid #000;border-radius:50%;background:#fff27a;box-shadow:0 0 3px #000}
.item-marker.gix-target-object.text-mode .object-icon img{display:none}
.item-marker.gix-target-object b{color:#fff}
.vehicle-marker.gix-target-object{gap:2px;transform:translate(-50%,-50%) scale(calc(var(--entity-compensate) * var(--vehicle-ui-scale,1)))}
.vehicle-marker.gix-target-object span{display:block;width:8px;height:8px;padding:0;border:1px solid #000;border-radius:50%;background:#ffdf00;box-shadow:0 0 3px #000}
.vehicle-marker.gix-target-object b{color:#ffdf00;font-size:10px}
.vehicle-marker.gix-target-object.boat-marker span{background:#53d8ff}.vehicle-marker.gix-target-object.boat-marker b{color:#75e2ff}

@media(max-width:640px){.gix-target-player .player-label{left:50%;width:190px;min-width:0;max-width:none;margin-left:-95px;padding:0;background:none}.gix-target-object b{max-width:130px;font-size:9px}}

/* Target 2.5.1 settings parity and optional telemetry renderers. */
.gix-target-player .player-label strong,.gix-target-player .player-label small,.gix-target-object b{white-space:pre-line}
.gix-target-player .player-label small{overflow:visible;line-height:1.2;text-overflow:clip}
.section-spacer{height:18px}.item-box{width:320px;max-width:calc(100vw - 48px)}
.item-colors{display:flex;flex-wrap:wrap;gap:8px;width:256px}.item-color-control{display:flex;align-items:center;gap:8px}
.item-group-container{max-height:44vh;overflow:auto;border:1px solid #424242;border-radius:6px;background:#141414;overscroll-behavior:contain}
.accordion-button{justify-content:space-between}.accordion-button>span{display:flex;align-items:center}.accordion-button small{color:#ffffff73;font:11px PUBG_SANS}
.accordion-panel{display:none!important;padding:6px 10px!important;flex-direction:column!important;gap:4px!important;flex-wrap:nowrap!important}
.accordion-item.open .accordion-panel{display:flex!important}.item-group-row{display:grid;grid-template-columns:minmax(0,1fr) 12px 66px;align-items:center;gap:7px;min-height:28px;color:#fff;font-size:12px}
.item-group-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-group-row>i{width:10px;height:10px;border:1px solid #ffffff2b;border-radius:2px;background:var(--group-color);box-shadow:0 0 3px #000}
.item-group-row select{height:25px;border:1px solid #424242;border-radius:5px;background:#202020;color:#fff;text-align:center;outline:0}.item-group-row select:focus{border-color:#1677ff}
.extension-panel{margin-top:14px;border-top:1px solid #ffffff12;padding-top:10px}.extension-panel summary{cursor:pointer;color:#ffffffa6;font-size:13px;user-select:none}.extension-panel[open] summary{margin-bottom:9px;color:#fff}
.optional-capability{position:relative}.optional-capability i{margin-left:auto;color:#ffbf47;font:normal 10px/1 PUBG_SANS}.about-subtitle{margin-top:4px;color:#ffffff73;font-size:12px}

.gix-target-loot,.backroom-marker{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;transform:translate(-50%,-50%) scale(calc(var(--entity-compensate) * var(--item-ui-scale,1)));font-family:PUBG_SANS,"Arial Narrow","Microsoft YaHei",sans-serif}
.gix-target-loot .loot-icon{display:block;width:12px;height:12px;border:1px solid #000;background:var(--item-color);box-shadow:0 0 3px #000}
.gix-target-loot.image-mode .loot-icon{width:18px;height:18px;border:1px solid color-mix(in srgb,var(--item-color) 70%,#fff);border-radius:3px;background:linear-gradient(135deg,color-mix(in srgb,var(--item-color) 78%,#fff),color-mix(in srgb,var(--item-color) 75%,#000));clip-path:polygon(15% 18%,65% 18%,86% 39%,86% 84%,15% 84%)}
.gix-target-loot .loot-icon img{display:none;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 1px 1px #000)}.gix-target-loot.image-mode.has-item-image .loot-icon{width:28px;height:28px;border:0;background:none;clip-path:none}.gix-target-loot.image-mode.has-item-image .loot-icon img{display:block}
.gix-target-loot b,.backroom-marker b{max-width:160px;overflow:hidden;color:var(--item-color,#fff);font-size:10px;font-weight:800;text-align:center;text-overflow:ellipsis;white-space:pre-line;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 0 var(--outline-width,2px) #000}
.gix-target-loot.unknown-item{opacity:.72}.backroom-marker{transform:translate(-50%,-50%) scale(calc(var(--entity-compensate) * var(--room-ui-scale,1)))}
.backroom-marker span{display:grid;place-items:center;width:18px;height:18px;border:1px solid #fff;border-radius:2px;background:#111;color:#fff;font-size:13px}.backroom-marker b{color:#fff}
.package-box-marker b,.vehicle-marker.gix-target-object b{white-space:pre-line;text-align:center}

@media(max-width:640px){.item-box{width:100%;max-width:none}.item-group-container{max-height:48dvh}.item-group-row{grid-template-columns:minmax(0,1fr) 11px 64px}.gix-target-loot b,.backroom-marker b{max-width:120px;font-size:9px}.extension-panel{margin-bottom:12px}}

/* Live controls and low-allocation marker UI */
.map-plane{contain:layout paint style}.entity-layer{contain:layout paint style}.map-entity{contain:layout style;text-shadow:none}
.map-controls{position:fixed;right:14px;bottom:14px;z-index:35;display:flex;flex-direction:column;gap:7px;padding:6px;border:1px solid #ffffff1c;border-radius:17px;background:#15171bd9;box-shadow:0 14px 36px #0008,inset 0 1px #ffffff14;backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%)}
.map-control{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffff12;border-radius:12px;background:linear-gradient(180deg,#ffffff14,#ffffff07);color:#f5f7fa;font:600 23px/1 -apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;box-shadow:inset 0 1px #ffffff14;touch-action:manipulation;transition:background .15s,transform .15s,border-color .15s}.map-control:hover{border-color:#5ac8fa80;background:#5ac8fa1e}.map-control:active{transform:scale(.91);background:#0a84ff44}.map-control svg{width:22px;height:22px;fill:currentColor}.update-button{position:static;width:44px;height:44px;border-radius:12px;background:linear-gradient(180deg,#0a84ff55,#0a84ff28)}

.player-visual{position:relative;transform:scale(var(--player-ui-scale,1));transform-origin:center bottom}.player-marker{z-index:4}.player-marker.is-followed{z-index:8}.player-label{left:50%;bottom:24px;min-width:112px;max-width:190px;padding:7px 8px 6px;overflow:hidden;border:1px solid color-mix(in srgb,var(--team) 70%,#fff 15%);border-radius:10px;background:linear-gradient(150deg,#1d2230e8,#090b10e3);box-shadow:0 8px 24px #0008,inset 0 1px #ffffff1a,0 0 0 .5px #000;transform:translateX(-50%);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","PingFang SC",sans-serif;font-size:11px;font-weight:600;line-height:1.2;text-align:left;letter-spacing:0;backdrop-filter:blur(9px) saturate(150%);-webkit-backdrop-filter:blur(9px) saturate(150%)}
.player-label-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.player-label-head strong{max-width:132px;overflow:hidden;color:#fff;font-size:12px;font-weight:700;text-overflow:ellipsis}.player-label-head span{flex:none;padding:2px 5px;border-radius:999px;background:color-mix(in srgb,var(--team) 24%,#111);color:color-mix(in srgb,var(--team) 80%,white);font:700 8px PUBG_SANS}.player-label small{display:block;margin-top:3px;overflow:hidden;color:#d8dce6;font:600 9px/1.2 PUBG_SANS;text-overflow:ellipsis;letter-spacing:.15px}.player-health{display:block;height:2px;margin-top:5px;overflow:hidden;border-radius:99px;background:#ffffff17}.player-health b{display:block;width:var(--health);height:100%;border-radius:inherit;background:linear-gradient(90deg,#30d158,#64d2ff);box-shadow:0 0 7px var(--team)}
.player-dot{width:14px;height:14px;border:2px solid #f8fbff;background:radial-gradient(circle at 35% 30%,#fff 0 12%,var(--team) 18% 100%);box-shadow:0 0 0 3px #08090cbb,0 0 13px color-mix(in srgb,var(--team) 75%,transparent)}.player-dot span{position:absolute;inset:3px;border-radius:50%;background:#fff7}.player-dot::after{bottom:11px;width:2px;height:19px;border-radius:99px;background:linear-gradient(var(--team),transparent);box-shadow:0 0 5px var(--team)}.player-marker.is-self .player-label{border-color:#30d158;box-shadow:0 8px 24px #0008,0 0 15px #30d15833,inset 0 1px #ffffff24}.player-marker.is-followed .player-dot{box-shadow:0 0 0 4px #fff6,0 0 18px var(--team)}

.item-marker{gap:6px;padding:5px 8px;border:var(--outline-width,1.5px) solid #ffd60a80;border-radius:9px;background:linear-gradient(145deg,#27220de8,#0d0d0de8);color:#fff3a0;font:700 10px -apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;box-shadow:0 7px 18px #0008,0 0 10px #ffd60a24;transform:translate(-50%,-50%) scale(calc(var(--entity-compensate) * var(--airdrop-ui-scale,1)))}.item-marker.image-mode::before{display:none}.item-marker .object-icon{display:grid;place-items:center;width:30px;height:18px;border-radius:5px;background:#ffd60a;color:#151200;font:800 7px PUBG_SANS;letter-spacing:.4px}.item-marker b{font-size:calc(9px * var(--item-ui-scale,1))}
.vehicle-marker{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #ff9f0a80;border-radius:9px;background:linear-gradient(145deg,#241b10e8,#0b0c0ee8);color:#ffd49a;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;box-shadow:0 7px 18px #0007;transform:translate(-50%,-50%) scale(calc(var(--entity-compensate) * var(--vehicle-ui-scale,1)))}.vehicle-marker span{padding:2px 4px;border-radius:4px;background:#ff9f0a;color:#1b1000;font:800 7px PUBG_SANS}.vehicle-marker b{font-size:10px}.vehicle-marker.boat-marker{border-color:#64d2ff80;color:#bdeeff}.vehicle-marker.boat-marker span{background:#64d2ff;color:#00141d}

.team-players{transform:scale(var(--team-panel-scale,.8));will-change:auto}.team-players-item{border:1px solid #ffffff13;border-radius:8px;background:#171a20e8;box-shadow:0 8px 22px #0006;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.team-hp{padding-right:7px;color:#ffffff8f;font:700 10px PUBG_SANS}.items-check{margin-top:7px;border:1px solid #ffffff14;border-radius:11px;background:#171a20e8;box-shadow:0 8px 22px #0005}.items-check::before{border-radius:10px 0 0 10px;background:#ffffff08}.items-check button{border:1px solid #ffffff12;background:#f5f5f7;color:#111;box-shadow:inset 0 1px #fff}.items-check button.off{opacity:.28;filter:saturate(.2)}

.player-search{width:100%;height:36px;padding:7px 10px;border:1px solid #42454c;border-radius:9px;background:#111318;color:#fff}.player-search:focus{border-color:#0a84ff;outline:0;box-shadow:0 0 0 3px #0a84ff2e}.player-roster{display:flex;flex-direction:column;gap:5px;max-height:210px;margin-top:7px;overflow:auto}.player-roster-item{display:grid;grid-template-columns:12px minmax(70px,1fr) auto;align-items:center;gap:7px;width:100%;min-height:38px;padding:5px 8px;border:1px solid #ffffff0e;border-radius:9px;background:#111318;color:#fff;text-align:left}.player-roster-item:hover,.player-roster-item.active{border-color:#0a84ff80;background:#0a84ff1c}.player-roster-item small{color:#ffffff82;font:9px PUBG_SANS}.roster-dot{width:9px;height:9px;border-radius:50%;background:var(--team);box-shadow:0 0 7px var(--team)}.empty-roster{padding:12px;color:#ffffff70;text-align:center}.radio-control.is-disabled{opacity:.35;cursor:not-allowed}.capability-note{display:flex;flex-direction:column;gap:5px;margin-top:18px;padding:10px 11px;border:1px solid #64d2ff2b;border-radius:10px;background:#64d2ff0d;color:#d5eefe;line-height:1.45}.capability-note b{font-size:12px}.capability-note span{color:#aebdcc;font-size:11px}.capability-note.compact{margin-top:14px}.object-toggles{margin-bottom:14px}
.player-color-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.player-color-row{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:34px;padding:4px 6px;border:1px solid #ffffff10;border-radius:8px;background:#111318;color:#fff;font-size:12px}.player-color-row .color-trigger{width:36px;padding:4px 7px}.team-visibility-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.team-visibility-control{justify-content:center;min-height:30px;border:1px solid #ffffff0e;border-radius:7px;background:#111318}

@media(max-width:640px){.map-controls{right:max(8px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));gap:5px;padding:5px;border-radius:15px;background:#17191eed;backdrop-filter:none;-webkit-backdrop-filter:none}.map-control,.update-button{width:46px;height:46px}.player-label{min-width:98px;max-width:150px;padding:6px 7px;background:#11141aef;backdrop-filter:none;-webkit-backdrop-filter:none}.team-players-item,.items-check{backdrop-filter:none;-webkit-backdrop-filter:none}.settings-popover{top:51px;max-height:calc(100dvh - 58px);border-radius:13px}.settings-content{padding-bottom:max(18px,env(safe-area-inset-bottom))}.map-plane{will-change:transform}.player-marker:not(.is-followed) .player-label{box-shadow:0 4px 12px #0008}.map-help{display:none}}

/* Player text intentionally floats directly over the map. Keep this final,
   high-specificity override so mobile card/shadow rules cannot reintroduce a plate. */
.gix-target-player .player-label,
.gix-target-player.player-marker:not(.is-followed) .player-label{
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.gix-target-player .player-label::before,
.gix-target-player .player-label::after{display:none!important;content:none!important}
.gix-target-player.is-self .player-dot{box-shadow:0 0 0 2px var(--team),0 0 0 3px #050505,0 0 10px color-mix(in srgb,var(--team) 55%,transparent)}
.gix-target-player.is-followed .player-dot{outline-color:var(--team);box-shadow:0 0 0 2px var(--team),0 0 0 3px #050505,0 0 16px var(--team)}

/* Compact phone settings sheet. Keep desktop sizing unchanged while avoiding
   the previous nearly full-width mobile panel. */
@media(max-width:640px){
  .settings-popover{
    left:8px;
    right:auto;
    width:min(80vw,320px);
    min-width:0;
    max-width:320px;
    max-height:calc(100dvh - 68px);
    border-radius:11px;
  }
  .settings-popover .popover-arrow{left:15px}
  .settings-popover .segmented{
    gap:1px;
    padding:8px 7px 6px;
    overflow-x:hidden;
  }
  .settings-popover .segment{
    flex:1 1 0;
    min-width:0;
    height:26px;
    padding:0 3px;
    font-size:12px;
  }
  .settings-popover .settings-content{
    width:100%;
    min-width:0;
    max-height:calc(100dvh - 112px);
    padding:9px 10px max(14px,env(safe-area-inset-bottom));
  }
  .settings-popover .h4-title{margin:7px 0 9px;font-size:13px}
  .settings-popover .h4-title::before{height:11px;margin-right:6px}
  .settings-popover .radio-stack{gap:5px}
  .settings-popover .control-label,
  .settings-popover .check-control,
  .settings-popover .radio-control{min-height:23px;gap:6px;font-size:13px}
  .settings-popover .extension-panel{margin-top:10px;padding-top:8px}
  .settings-popover .checkbox-grid{gap:6px}
  .settings-popover .display-container,
  .settings-popover .team-colors,
  .settings-popover .item-colors,
  .settings-popover .item-box{width:100%;max-width:none}
  .settings-popover .slider-box{grid-template-columns:68px minmax(0,1fr) 28px;gap:6px}
  .settings-popover .item-group-container{max-height:38dvh}
}

@media(max-width:380px){
  .settings-popover{width:min(82vw,300px);max-width:300px}
}

/* Final compact settings geometry. Item controls previously carried a 320px
   intrinsic width and made the popover wider than its declared mobile size. */
.settings-popover{
  width:280px;
  min-width:0;
  max-width:calc(100vw - 16px);
  max-height:min(72dvh,640px);
  box-sizing:border-box;
}
.settings-popover .segmented,
.settings-popover .settings-content,
.settings-popover .item-box,
.settings-popover .display-container{box-sizing:border-box}
.settings-popover .settings-content{
  width:100%;
  min-width:0;
  max-height:calc(min(72dvh,640px) - 41px);
}
.settings-popover .item-box,
.settings-popover .display-container,
.settings-popover .team-colors,
.settings-popover .item-colors{width:100%;max-width:none}
.settings-popover .bind-input{width:calc(100% - 20px);box-sizing:border-box}
.settings-popover .server-row{width:100%}
.settings-popover .server-input{min-width:0;flex:1}
.settings-popover .server-save{padding-inline:9px}
.settings-popover .item-group-container{max-height:30dvh}
.settings-popover .item-group-row{grid-template-columns:minmax(0,1fr) 10px 56px;gap:4px;font-size:11px}
.settings-popover .item-group-row select{min-width:0;padding:0 2px;font-size:11px}

@media(max-width:640px){
  .settings-popover{
    left:8px;
    right:auto;
    width:min(74vw,260px);
    max-width:260px;
    max-height:min(68dvh,540px);
  }
  .settings-popover .settings-content{
    max-height:calc(min(68dvh,540px) - 41px);
    padding:8px 8px max(11px,env(safe-area-inset-bottom));
  }
  .settings-popover .segmented{padding:7px 6px 5px}
  .settings-popover .segment{height:25px;font-size:11px}
  .settings-popover .h4-title{margin:6px 0 7px;font-size:12px}
  .settings-popover .section-spacer{height:10px}
  .settings-popover .item-group-container{max-height:27dvh}
  .settings-popover .accordion-button{height:29px;padding:0 8px;font-size:12px}
  .settings-popover .player-roster{max-height:150px}
  .settings-popover .player-color-grid{grid-template-columns:1fr}
}
