:root{--bg:#e9eef1;--sf:#f5f8fa;--sf2:#ffffff;--pri:#1578c9;--pri2:rgba(21,120,201,0.10);--sec:#c98a25;--txt:#17232d;--dim:#65737e;--brd:#ccd6dc;--red:#d9475c;--grn:#179b66;--yel:#d28a18;--blue:#3978c4;--orange:#c96f2d;--quality-0:#808080;--quality-1:#ffffff;--quality-2:#00ff88;--quality-3:#60a5fa;--quality-4:#c084fc;--quality-5:#ffaa00;--quality-6:#ff3366;--bg-primary:var(--bg);--bg-secondary:var(--sf);--bg-panel:var(--sf2);--text-primary:var(--txt);--text-secondary:var(--dim);--accent:var(--pri);--accent-dim:var(--pri2);--green:var(--grn);--yellow:var(--yel);--border:var(--brd)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Segoe UI',system-ui,'Microsoft YaHei',sans-serif;background:var(--bg);color:var(--txt);min-height:100vh;overflow:hidden}body::before{content:'';position:fixed;top:-50%;left:-50%;width:200%;height:200%;background-image:linear-gradient(rgba(69,94,110,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(69,94,110,.035) 1px,transparent 1px);background-size:50px 50px;animation:gridMove 20s linear infinite;pointer-events:none;z-index:0}@keyframes gridMove{0%{transform:translate(0,0)}100%{transform:translate(50px,50px)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:rgba(21,120,201,.28);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(21,120,201,.48)}.login-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:20px;position:relative;z-index:1}.login-box{background:rgba(255,255,255,.92);border:1px solid var(--brd);border-radius:16px;padding:44px 40px;width:400px;text-align:center;backdrop-filter:blur(16px);box-shadow:0 18px 50px rgba(51,71,83,.16),inset 0 1px 0 rgba(255,255,255,.8)}.login-box h1{font-size:32px;font-weight:800;letter-spacing:3px;margin-bottom:4px;background:linear-gradient(135deg,var(--pri),var(--sec));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-logo{width:82px;height:82px;margin-bottom:12px;border-radius:18px;object-fit:cover;box-shadow:0 10px 26px rgba(27,48,62,.18)}.login-box .subtitle{color:var(--dim);font-size:13px;margin-bottom:28px;letter-spacing:1px}.login-box input{width:100%;padding:12px 16px;margin-bottom:12px;border:1px solid var(--brd);border-radius:8px;background:#f7fafb;color:var(--txt);font-size:15px;outline:0;transition:border-color .25s,box-shadow .25s}.login-box input:focus{border-color:var(--pri);box-shadow:0 0 12px rgba(0,240,255,.15)}.login-box input::placeholder{color:var(--dim)}.login-box button{width:100%;padding:12px;border:1px solid var(--pri);border-radius:8px;background:rgba(0,240,255,.1);color:var(--pri);font-size:15px;font-weight:600;cursor:pointer;transition:all .25s;margin-top:8px;letter-spacing:1px}.login-box button:hover{background:rgba(0,240,255,.2);box-shadow:0 0 20px rgba(0,240,255,.15)}.login-box input:focus{box-shadow:0 0 0 3px rgba(21,120,201,.12)}.login-box button{background:#e9f3f9}.login-box button:hover{background:#dceef8;box-shadow:0 7px 18px rgba(21,120,201,.14)}.login-box .error{color:var(--red);font-size:13px;margin-top:8px;min-height:20px}.login-box .server-input{display:flex;gap:8px;margin-bottom:12px}.login-box .server-input input:first-child{flex:3;margin-bottom:0}.login-box .server-input input:last-child{flex:1;margin-bottom:0}.radar-layout{display:flex;width:100vw;height:100vh;position:relative;z-index:1}.control-panel{width:250px;min-width:250px;background:rgba(13,21,37,.92);border-right:1px solid var(--brd);overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:6px;backdrop-filter:blur(8px)}.control-panel h3{font-size:11px;color:var(--pri);text-transform:uppercase;letter-spacing:2px;margin-top:12px;margin-bottom:6px;padding-left:10px;border-left:3px solid var(--pri);position:relative;display:flex;align-items:center;gap:8px}.control-panel h3::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--brd),transparent)}.control-panel label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;padding:5px 8px;border-radius:6px;transition:background .2s;color:var(--txt)}.control-panel label:hover{background:var(--pri2)}.control-panel input[type=checkbox]{appearance:none;-webkit-appearance:none;width:34px;height:18px;border-radius:9px;background:rgba(107,122,148,.3);position:relative;cursor:pointer;transition:background .25s;flex-shrink:0}.control-panel input[type=checkbox]::after{content:'';position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--dim);transition:transform .25s,background .25s}.control-panel input[type=checkbox]:checked{background:var(--pri);box-shadow:0 0 8px rgba(0,240,255,.3)}.control-panel input[type=checkbox]:checked::after{transform:translateX(16px);background:#fff}.control-panel input[type=range]{width:100%;accent-color:var(--pri);height:4px}.radar-center{flex:1;position:relative;overflow:hidden}.radar-center canvas{width:100%;height:100%;display:block}.view-action-bar{position:absolute;right:16px;bottom:16px;z-index:18;display:none;width:min(360px,calc(100% - 32px));border:1px solid rgba(148,163,184,.3);border-radius:14px;background:rgba(10,16,29,.92);box-shadow:0 10px 34px rgba(0,0,0,.42);backdrop-filter:blur(12px);overflow:hidden}.view-action-bar.visible{display:block}.camera-panel-header{min-height:58px;padding:8px 8px 8px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(148,163,184,.16)}.camera-panel-heading{min-width:0}.camera-panel-eyebrow{display:block;color:var(--pri);font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.camera-current-state{display:flex;align-items:baseline;gap:6px;min-width:0;margin-top:2px;color:var(--dim);font-size:12px;white-space:nowrap}.camera-current-state strong{color:var(--txt);overflow:hidden;text-overflow:ellipsis}.camera-current-state b{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;color:#86efac;font-weight:700}.camera-panel-tools{flex:0 0 auto;display:flex;align-items:center;gap:5px}.camera-tool-btn{min-width:36px;height:36px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(148,163,184,.24);border-radius:9px;background:rgba(15,23,42,.76);color:var(--dim);font:700 11px/1 system-ui,sans-serif;cursor:pointer}.camera-tool-btn:focus-visible,.camera-tool-btn:hover{color:var(--pri);border-color:rgba(0,240,255,.55);outline:0}.camera-tool-btn.active{color:#168453;border-color:rgba(22,132,83,.42);background:rgba(22,132,83,.1)}.camera-tool-label{white-space:nowrap}.camera-panel-collapse{min-width:58px;min-height:36px;padding:7px 9px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:rgba(15,23,42,.76);color:var(--dim);font-size:11px;cursor:pointer}.camera-panel-collapse:focus-visible,.camera-panel-collapse:hover{color:var(--pri);border-color:rgba(0,240,255,.55);outline:0}.camera-panel-body{padding:10px}.camera-panel.collapsed{width:min(360px,calc(100% - 32px))}.camera-panel.collapsed .camera-panel-body{display:none}.camera-panel.collapsed .camera-panel-header{border-bottom:0}.camera-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.camera-mode-btn{min-width:0;min-height:66px;padding:9px 7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:rgba(15,23,42,.78);color:#cbd5e1;font-family:inherit;cursor:pointer;transition:border-color .18s,background .18s,color .18s,transform .18s}.camera-mode-btn:focus-visible,.camera-mode-btn:hover{border-color:rgba(0,240,255,.58);color:#fff;outline:0;transform:translateY(-1px)}.camera-mode-btn.active{border-color:var(--pri);background:rgba(0,240,255,.13);color:var(--pri);box-shadow:inset 0 0 0 1px rgba(0,240,255,.1)}.camera-mode-icon{font-size:18px;line-height:1}.camera-mode-name{font-size:12px;font-weight:800;white-space:nowrap}.camera-mode-btn small{color:var(--dim);font-size:9px;line-height:1.2;white-space:nowrap}.camera-mode-btn.active small{color:rgba(165,243,252,.82)}.camera-quality-control{margin-top:9px;padding:9px;border:1px solid rgba(148,163,184,.2);border-radius:10px;background:rgba(8,15,28,.62)}.camera-quality-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.camera-quality-heading>div{min-width:0;display:flex;align-items:baseline;gap:7px}.camera-quality-title{color:#cbd5e1;font-size:11px;font-weight:800;white-space:nowrap}.camera-quality-heading small{min-width:0;overflow:hidden;color:var(--dim);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.camera-quality-effective{flex-shrink:0;padding:2px 7px;border:1px solid rgba(0,240,255,.3);border-radius:999px;background:rgba(0,240,255,.08);color:var(--pri);font-size:10px;font-weight:800}.quality-mode-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.quality-mode-btn{min-width:0;min-height:36px;padding:6px 4px;border:1px solid rgba(148,163,184,.25);border-radius:7px;background:rgba(15,23,42,.72);color:#94a3b8;font-family:inherit;font-size:10px;font-weight:700;cursor:pointer;transition:border-color .18s,background .18s,color .18s}.quality-mode-btn:focus-visible,.quality-mode-btn:hover{border-color:rgba(0,240,255,.58);color:#fff;outline:0}.quality-mode-btn.active{border-color:rgba(0,240,255,.82);background:rgba(0,240,255,.13);color:var(--pri)}.quality-feature-status{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.quality-feature-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border:1px solid rgba(148,163,184,.18);border-radius:999px;background:rgba(15,23,42,.65);color:var(--dim);font-size:9px;line-height:1.4;white-space:nowrap}.quality-feature-chip::before{content:'';width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:currentColor}.quality-feature-chip.on{border-color:rgba(0,255,136,.24);color:#86efac}.quality-feature-chip.off{color:#64748b}.quality-feature-chip.unknown{color:#fbbf24}.indoor-clarity-control{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(148,163,184,.16)}.indoor-clarity-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.indoor-clarity-title{color:#cbd5e1;font-size:11px;font-weight:800}.indoor-clarity-status{overflow:hidden;color:var(--dim);font-size:9px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.indoor-clarity-status::before{content:'●';margin-right:4px;font-size:7px}.indoor-clarity-status.enabled{color:#86efac}.indoor-clarity-status.active{color:#67e8f9}.indoor-clarity-status.disabled{color:#64748b}.indoor-clarity-status.pending{color:#fbbf24}.indoor-clarity-btn{min-width:94px;min-height:36px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:6px 9px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:rgba(15,23,42,.72);color:#94a3b8;font-family:inherit;font-size:10px;font-weight:800;cursor:pointer;transition:border-color .18s,background .18s,color .18s,box-shadow .18s}.indoor-clarity-btn:focus-visible,.indoor-clarity-btn:hover{border-color:rgba(0,240,255,.58);color:#fff;outline:0}.indoor-clarity-btn.enabled{border-color:rgba(0,255,136,.42);background:rgba(0,255,136,.1);color:#86efac}.indoor-clarity-btn.cutting{border-color:rgba(0,240,255,.75);background:rgba(0,240,255,.14);color:#67e8f9;box-shadow:0 0 12px rgba(0,240,255,.1)}.indoor-clarity-switch{width:26px;height:14px;flex:0 0 26px;position:relative;border-radius:999px;background:rgba(100,116,139,.55);transition:background .18s}.indoor-clarity-switch i{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#cbd5e1;transition:transform .18s,background .18s}.indoor-clarity-btn.enabled .indoor-clarity-switch{background:rgba(0,255,136,.55)}.indoor-clarity-btn.enabled .indoor-clarity-switch i{transform:translateX(12px);background:#fff}.indoor-clarity-btn.cutting .indoor-clarity-switch{background:rgba(0,240,255,.65)}.camera-quick-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:9px}.view-action-btn{min-width:0;min-height:44px;padding:9px 8px;border:1px solid rgba(148,163,184,.35);border-radius:8px;background:rgba(15,23,42,.78);color:#cbd5e1;font-family:system-ui,sans-serif;font-size:11px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px;transition:background .2s,border-color .2s,color .2s}.view-action-btn:focus-visible,.view-action-btn:hover{border-color:rgba(0,240,255,.65);color:#00f0ff;outline:0}.view-action-btn.active{border-color:rgba(248,113,113,.7);background:rgba(248,113,113,.14);color:#fca5a5}.radar3d-guide-backdrop{position:absolute;inset:38px 0 0;z-index:23;display:none;background:rgba(36,53,62,.16);backdrop-filter:blur(2px)}.radar3d-guide-backdrop.open{display:block}.radar3d-guide{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:24;display:none;width:min(430px,calc(100% - 32px));padding:20px;border:1px solid rgba(0,240,255,.38);border-radius:14px;background:rgba(10,16,29,.96);color:var(--txt);box-shadow:0 14px 42px rgba(0,0,0,.48);backdrop-filter:blur(14px)}.radar3d-guide.open{display:block}.radar3d-guide-header{display:grid;grid-template-columns:42px 1fr 32px;align-items:center;gap:11px}.radar3d-guide-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#2583c5,#52aee5);color:#fff;font-size:13px;font-weight:900;box-shadow:0 7px 18px rgba(37,131,197,.24)}.radar3d-guide-close{width:32px;height:32px;border:0;border-radius:9px;background:0 0;color:var(--dim);font-size:21px;cursor:pointer}.radar3d-guide-close:focus-visible,.radar3d-guide-close:hover{background:rgba(148,163,184,.14);color:var(--txt);outline:0}.radar3d-guide-kicker{color:var(--pri);font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.radar3d-guide h2{margin:2px 0 0;font-size:17px}.radar3d-guide-intro{margin:15px 0 13px;padding:10px 12px;border-radius:9px;background:rgba(37,131,197,.08);color:var(--dim);font-size:12px;line-height:1.5}.radar3d-guide-steps{margin:0;padding:0;display:grid;gap:11px;list-style:none}.radar3d-guide-steps li{display:flex;align-items:flex-start;gap:10px}.radar3d-guide-steps li>span{width:24px;height:24px;flex:0 0 24px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(0,240,255,.14);color:var(--pri);font-size:11px;font-weight:800}.radar3d-guide-steps div{min-width:0}.radar3d-guide-steps strong{display:block;font-size:12px}.radar3d-guide-steps small{display:block;margin-top:2px;color:var(--dim);font-size:11px;line-height:1.45}.radar3d-guide-confirm{width:100%;min-height:44px;margin-top:15px;border:1px solid var(--pri);border-radius:9px;background:rgba(0,240,255,.14);color:var(--pri);font-size:13px;font-weight:800;cursor:pointer}.radar3d-guide-confirm:focus-visible,.radar3d-guide-confirm:hover{background:rgba(0,240,255,.23);outline:0}.status-bar{position:absolute;top:0;left:0;right:0;height:38px;background:rgba(10,14,23,.92);border-bottom:1px solid var(--brd);display:flex;align-items:center;padding:0 16px;gap:20px;font-size:13px;z-index:10;backdrop-filter:blur(8px)}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:4px}.status-dot.online{background:var(--grn);box-shadow:0 0 6px var(--grn)}.status-dot.offline{background:var(--red);box-shadow:0 0 6px var(--red)}.status-dot.waiting{background:var(--yel);box-shadow:0 0 6px var(--yel);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}.info-panel{width:320px;min-width:320px;background:rgba(13,21,37,.92);border-left:1px solid var(--brd);overflow-y:auto;padding:8px;font-size:12px;backdrop-filter:blur(8px)}.info-panel h3{font-size:12px;color:var(--pri);padding:8px 4px 4px;border-bottom:1px solid var(--brd);margin-bottom:4px;letter-spacing:1px;text-transform:uppercase}.entity-list-stack{display:grid;gap:12px}.target-list-section{border:1px solid #d6e0e5;border-radius:12px;background:rgba(255,255,255,.72);overflow:hidden}.target-list-section>header{min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-bottom:1px solid #dce4e8;color:#314955;font-size:12px;font-weight:800}.target-list-section>header b{min-width:25px;padding:3px 7px;border-radius:999px;background:#e7f1f7;color:#1578c9;text-align:center;font-size:10px}.target-list-section .player-list{padding:7px}.legend-dot{width:8px;height:8px;border-radius:2px;display:inline-block;margin-right:4px}.legend-dot.boss{background:#fb923c;transform:rotate(45deg)}.legend-dot.deadbox{background:#c084fc}.legend-dot.item{background:#22d3ee;border-radius:50%}.compact-field{display:flex!important;justify-content:space-between;align-items:center;gap:8px}.compact-field select{min-width:92px;padding:4px 6px;border:1px solid var(--brd);border-radius:5px;background:var(--bg-primary);color:var(--text-primary)}.item-distance-control{padding:3px 8px 7px}.control-panel .item-distance-control label{justify-content:space-between;padding:2px 0 5px;font-size:12px}.item-distance-control output{color:var(--pri);font-weight:800}.item-distance-control small{display:block;margin-top:4px;color:var(--dim);font-size:10px}.entity-row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:6px;cursor:pointer;transition:background .2s}.entity-row:hover{background:var(--pri2)}.entity-row.followable-target,.entity-row[data-follow-kind][data-follow-name],.entity-row[data-followable=true],.entity-row[ondblclick]{cursor:crosshair;position:relative}.entity-row.followable-target:focus-visible,.entity-row[data-follow-kind][data-follow-name]:focus-visible,.entity-row[data-followable=true]:focus-visible,.entity-row[ondblclick]:focus-visible{outline:2px solid rgba(0,240,255,.72);outline-offset:-2px}@media (hover:hover){.entity-row.followable-target::after,.entity-row[data-follow-kind][data-follow-name]::after,.entity-row[data-followable=true]::after,.entity-row[ondblclick]::after{content:'双击跟随';flex:0 0 auto;padding:2px 5px;border:1px solid rgba(0,240,255,.25);border-radius:999px;color:var(--dim);font-size:9px;opacity:0;transform:translateX(3px);transition:opacity .16s,transform .16s;pointer-events:none}.entity-row.followable-target:hover::after,.entity-row[data-follow-kind][data-follow-name]:hover::after,.entity-row[data-followable=true]:hover::after,.entity-row[ondblclick]:hover::after{opacity:1;transform:translateX(0)}}.entity-row.followed-target{background:linear-gradient(90deg,rgba(0,240,255,.19),rgba(123,47,255,.1));box-shadow:inset 3px 0 0 var(--pri),inset 0 0 0 1px rgba(0,240,255,.25)}.entity-row[data-follow-kind][data-follow-name]{cursor:pointer}.entity-row.followed-target:hover{background:linear-gradient(90deg,rgba(0,240,255,.25),rgba(123,47,255,.15))}.entity-row [data-follow-action],.follow-badge{flex:0 0 auto;display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border:1px solid rgba(74,222,128,.45);border-radius:999px;background:rgba(74,222,128,.12);color:#86efac;font-size:9px;font-weight:800;white-space:nowrap}.entity-row [data-follow-action].active,.follow-badge.active{border-color:rgba(74,222,128,.62)!important;background:rgba(74,222,128,.16)!important;color:#86efac!important}@media (max-width:768px){.entity-row [data-follow-action]{min-width:54px;min-height:44px;justify-content:center;padding:7px 10px;font-size:11px}}@media (min-width:769px){.radar-page .control-panel{width:330px;min-width:330px}.radar-page.view-3d .info-panel{bottom:12px}}.top-view-controls{position:relative;display:flex;align-items:center;gap:6px}.view-context-actions{display:flex;align-items:center}.view-context-action{min-height:30px;padding:4px 10px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #c9d4da;border-radius:7px;background:#f0f4f6;color:#536671;font:700 11px/1 system-ui,sans-serif;white-space:nowrap;cursor:pointer}.view-context-action.active,.view-context-action:focus-visible,.view-context-action:hover{border-color:#67a9d2;background:#e4f1f8;color:#1578c9;outline:0}.view-context-action[hidden]{display:none}.view-settings-trigger{min-height:30px;padding:4px 10px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #c9d4da;border-radius:7px;background:#f0f4f6;color:#536671;font:700 11px/1 system-ui,sans-serif;white-space:nowrap;cursor:pointer}.view-settings-trigger.active,.view-settings-trigger:focus-visible,.view-settings-trigger:hover{border-color:#67a9d2;background:#e4f1f8;color:#1578c9;outline:0}.view-settings-trigger[hidden]{display:none}.view-settings-popover{position:absolute;top:calc(100% + 9px);right:0;z-index:90;display:none;width:min(390px,calc(100vw - 24px));max-height:calc(100vh - 76px);overflow:visible;border:1px solid #c7d2d8;border-radius:14px;background:rgba(255,255,255,.97);box-shadow:0 18px 42px rgba(43,60,70,.22);backdrop-filter:blur(14px)}.view-settings-popover::before{content:'';position:absolute;top:-6px;right:30px;width:11px;height:11px;border-top:1px solid #c7d2d8;border-left:1px solid #c7d2d8;background:#fff;transform:rotate(45deg)}.view-settings-popover.open{display:block}.top-view-controls .view-action-bar,.two-d-settings-panel{display:none}.top-view-controls .view-action-bar.visible,.two-d-settings-panel.visible{display:block}.top-view-controls .view-action-bar,.two-d-settings-panel{max-height:calc(100vh - 76px);overflow:auto;border-radius:inherit}.top-view-controls .view-action-bar{position:static;width:100%;max-height:calc(100vh - 76px);margin:0;border:0;border-radius:0;background:0 0;box-shadow:none;backdrop-filter:none;overflow:auto}.top-view-controls .camera-panel.collapsed{width:100%}.top-view-controls .camera-panel.collapsed .camera-panel-header{display:none}.top-view-controls .camera-panel-header{padding:9px 10px 9px 14px}.top-view-controls .camera-mode-grid{padding-inline:10px}.top-view-controls .camera-quality-control{margin:9px 10px 0}.top-view-controls .camera-quick-actions{margin:9px 10px 10px}.popover-title-row{min-height:58px;padding:9px 10px 9px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #dbe2e6}.popover-title-row small,.popover-title-row strong{display:block}.popover-title-row strong{color:#273944;font-size:13px}.popover-title-row small{margin-top:3px;color:#71808a;font-size:10px}.popover-title-row>button{width:34px;height:34px;border:1px solid #ced8dd;border-radius:9px;background:#f3f6f8;color:#5f717c;font-size:19px;cursor:pointer}.two-d-settings-body{padding:10px;color:#314955}.map-alpha-field{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:700}.map-alpha-field output{color:#1578c9}.two-d-settings-body>input[type=range]{width:100%;accent-color:#2583c5}.two-d-settings-body .collapsible-section{margin-top:9px;border-color:#d6e0e5}.two-d-settings-body .collapsible-section h3{color:#44606f}.coordinate-grid{display:grid;grid-template-columns:auto 1fr;gap:6px 8px;align-items:center;font-size:11px}.coordinate-grid input{min-width:0;padding:6px 7px;border:1px solid #cbd6dc;border-radius:6px;background:#fff;color:#263742}.two-d-settings-body .btn{min-height:34px;border:1px solid #cbd6dc;border-radius:7px;background:#fff;color:#263742;cursor:pointer}.coordinate-grid+.btn{width:100%;margin-top:7px}.calibration-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.calibration-status{min-height:32px;margin-top:6px;color:#71808a;font-size:10px}.popover-footer-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #dbe2e6;color:#71808a;font-size:10px}.popover-footer-actions .btn.primary{background:#2583c5;border-color:#2583c5;color:#fff}@media (max-width:768px){.radar-page .status-bar{gap:7px;overflow:visible}.radar-page #viewModeToggle{display:flex!important}.radar-page .top-view-controls{margin-left:auto;gap:4px}.radar-page .view-mode-toggle button{min-height:30px;padding:4px 9px}.view-settings-trigger{min-width:32px;padding-inline:8px}.view-settings-trigger #viewSettingsBtnLabel{display:none}.view-settings-popover{position:fixed;top:52px;right:6px;width:min(390px,calc(100vw - 12px));max-height:calc(100vh - 108px - env(safe-area-inset-bottom,0px))}.view-settings-popover::before{right:13px}.top-view-controls .view-action-bar,.two-d-settings-panel{max-height:calc(100vh - 108px - env(safe-area-inset-bottom,0px))}.top-view-controls .camera-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.top-view-controls .quality-mode-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:560px){.radar-page .status-bar>span:nth-child(2){display:none}}.entity-row .hero-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1.5px solid rgba(0,240,255,.35)}.entity-row .team-badge{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}.entity-row .name{display:flex;align-items:center;min-width:0;flex:1;overflow:hidden;white-space:nowrap}.entity-row .player-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-row .hp-bar{width:50px;height:5px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden;flex-shrink:0}.entity-row .hp-bar-fill{height:100%;border-radius:3px;transition:width .2s}.entity-row .hp-bar-unknown{background:repeating-linear-gradient(135deg,rgba(148,163,184,.28) 0 4px,rgba(148,163,184,.08) 4px 8px)}.entity-row .hp-value-unknown,.entity-row .hp-value-unknown .hp-value-icon{color:var(--dim)}.entity-row .dist{color:var(--dim);font-size:11px;width:40px;text-align:right;flex-shrink:0}.entity-row.player-state .name{color:var(--player-state-color)}.entity-row .downed-tag,.entity-row .player-state-tag{margin-left:4px;padding:0 4px;border:1px solid color-mix(in srgb,currentColor 58%,transparent);border-radius:3px;color:var(--player-state-color,#f59e0b);background:color-mix(in srgb,var(--player-state-color,#f59e0b) 12%,transparent);font-size:10px;line-height:14px;vertical-align:1px;white-space:nowrap;flex:0 0 auto}.entity-row.player-state-downed{--player-state-color:#f59e0b}.entity-row.player-state-waiting-rescue{--player-state-color:#ef4444}.entity-row.player-state-reviving{--player-state-color:#22d3ee}.entity-row .weapon{color:var(--dim);font-size:11px;width:60px;text-align:right;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.disconnect-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(10,14,23,.85);display:flex;align-items:center;justify-content:center;z-index:100;font-size:18px;color:var(--red);backdrop-filter:blur(4px)}.disconnect-overlay.hidden{display:none}.radar-toast{position:fixed;top:56px;left:50%;z-index:1000;max-width:min(440px,calc(100vw - 32px));padding:10px 16px;border:1px solid rgba(0,240,255,.42);border-radius:999px;background:rgba(8,16,29,.94);color:var(--txt);box-shadow:0 10px 30px rgba(0,0,0,.38);font-size:13px;line-height:1.35;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,-8px);transition:opacity .16s ease,transform .16s ease}.radar-toast.visible{opacity:1;transform:translate(-50%,0)}.mobile-toggle-bar{display:none}.panel-backdrop{display:none}.collapsible-section>h3{cursor:pointer;user-select:none}.collapsible-section>h3::before{content:'▾ ';font-size:10px;color:var(--pri);transition:transform .2s;display:inline-block}.collapsible-section.collapsed>h3::before{content:'▸ '}.collapsible-section.collapsed>:not(h3){display:none!important}.control-panel input[type=number],.control-panel input[type=text]{width:100%;background:var(--bg);color:var(--txt);border:1px solid var(--brd);border-radius:6px;padding:6px 8px;font-size:12px;font-family:'JetBrains Mono',ui-monospace,monospace;outline:0;transition:border-color .15s,box-shadow .15s}.control-panel input[type=number]:focus,.control-panel input[type=text]:focus{border-color:var(--pri);box-shadow:0 0 0 3px rgba(0,240,255,.1)}.control-panel .btn{padding:8px 12px;border:1px solid var(--brd);border-radius:6px;background:var(--bg);color:var(--txt);cursor:pointer;font-size:12px;transition:background .15s,border-color .15s;display:inline-flex;align-items:center;justify-content:center;gap:4px}.control-panel .btn:hover{background:var(--pri2);border-color:var(--pri)}.control-panel .btn.primary{color:var(--pri);border-color:var(--pri)}.control-panel .btn.primary:hover{background:rgba(0,240,255,.15)}.hint-text{font-size:11px;color:var(--dim);line-height:1.4;padding:4px 0}@media (max-width:768px){body{overflow:hidden}.radar-toast{top:44px;width:max-content;max-width:calc(100vw - 24px);padding:9px 13px;font-size:12px}body::before{background-size:30px 30px}.login-box{width:calc(100vw - 32px);max-width:400px;padding:28px 20px}.login-box h1{font-size:26px}.login-box input{font-size:14px;padding:10px 12px}.login-box input[style*="font-size: 24px"]{font-size:20px!important}.radar-layout{flex-direction:column}.mobile-toggle-bar{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(48px + env(safe-area-inset-bottom,0px));background:rgba(13,21,37,.95);border-top:1px solid var(--brd);z-index:200;align-items:center;justify-content:space-around;padding:0 8px env(safe-area-inset-bottom,0);box-sizing:border-box;gap:4px;backdrop-filter:blur(8px)}.mobile-toggle-bar button{flex:1;height:44px;min-height:44px;border:1px solid var(--brd);border-radius:8px;background:rgba(10,14,23,.8);color:var(--txt);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .25s}.mobile-toggle-bar button.active{background:rgba(0,240,255,.15);color:var(--pri);border-color:var(--pri);box-shadow:0 0 12px rgba(0,240,255,.1)}.mobile-toggle-bar button svg{width:16px;height:16px;flex-shrink:0}.panel-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:calc(48px + env(safe-area-inset-bottom,0px));background:rgba(0,0,0,.5);z-index:140;pointer-events:auto;touch-action:manipulation}.panel-backdrop.visible{display:block}.control-panel{position:fixed;top:0;left:0;width:280px;min-width:unset;height:calc(100vh - 48px - env(safe-area-inset-bottom,0px));z-index:150;transform:translateX(-100%);transition:transform .3s ease;padding:12px;padding-top:16px;box-shadow:2px 0 16px rgba(0,240,255,.05);background:#0d1525!important;pointer-events:auto}.control-panel.open{transform:translateX(0)}.info-panel{position:fixed;bottom:calc(48px + env(safe-area-inset-bottom,0px));left:0;right:0;width:100%;min-width:unset;height:50vh;max-height:50vh;z-index:150;border-left:none;border-top:1px solid var(--brd);border-radius:16px 16px 0 0;transform:translateY(100%);transition:transform .3s ease;box-shadow:0 -4px 16px rgba(0,0,0,.4);background:#0d1525!important;pointer-events:auto}.info-panel.open{transform:translateY(0)}.info-panel::before{content:'';display:block;width:40px;height:4px;background:rgba(0,240,255,.2);border-radius:2px;margin:8px auto 4px}.radar-center{width:100vw;height:calc(100vh - 48px - env(safe-area-inset-bottom,0px))}.radar-center canvas{touch-action:none}.status-bar{height:36px;font-size:12px;padding:0 8px;gap:10px}.status-bar #fpsDisplay,.status-bar>span:nth-child(3){display:none}#viewModeToggle{display:none!important}#minimap3d{top:auto!important;bottom:60px!important;left:8px!important;width:140px!important;height:140px!important;transition:bottom .18s ease,opacity .18s ease}#minimap3d.camera-panel-collapsed{bottom:calc(116px + env(safe-area-inset-bottom,0px))!important}#minimap3d.camera-panel-expanded{opacity:0;pointer-events:none}.view-action-bar{left:8px;right:8px;bottom:calc(56px + env(safe-area-inset-bottom,0px));width:auto;max-height:calc(100vh - 116px - env(safe-area-inset-bottom,0px));overflow-y:auto;z-index:175}.view-action-bar.mobile-drawer-hidden{display:none!important}.camera-panel.collapsed{left:auto;width:min(300px,calc(100% - 16px));overflow:hidden}.camera-panel-header{min-height:52px;padding:7px 8px 7px 12px}.camera-panel-collapse{min-width:72px;min-height:44px;touch-action:manipulation}.camera-current-state{font-size:11px}.camera-panel-tools{gap:4px}.camera-tool-btn{min-width:40px;min-height:44px;padding:0 8px;touch-action:manipulation}.camera-tool-label{display:none}.camera-panel-body{padding:9px}.camera-mode-grid{gap:6px}.camera-mode-btn{min-height:68px;padding:7px 4px;touch-action:manipulation}.camera-mode-name{font-size:11px}.camera-mode-btn small{font-size:9px}.camera-quality-control{margin-top:7px;padding:8px}.camera-quality-heading{margin-bottom:6px}.camera-quality-heading small{font-size:8px}.quality-mode-grid{gap:4px}.quality-mode-btn{min-height:44px;padding:8px 3px;font-size:10px;touch-action:manipulation}.quality-feature-status{gap:3px;margin-top:6px}.quality-feature-chip{padding:2px 5px;font-size:8px}.indoor-clarity-control{gap:7px;margin-top:7px;padding-top:7px}.indoor-clarity-status{font-size:8px}.indoor-clarity-btn{min-width:100px;min-height:44px;padding:8px;touch-action:manipulation}.camera-quick-actions{gap:6px;margin-top:7px}.radar3d-guide{position:fixed;top:auto;left:8px;right:8px;bottom:calc(56px + env(safe-area-inset-bottom,0px));transform:none;width:auto;max-height:calc(100vh - 72px - env(safe-area-inset-bottom,0px));padding:15px;overflow-y:auto;z-index:190}.radar3d-guide-backdrop{position:fixed;inset:36px 0 calc(48px + env(safe-area-inset-bottom,0px));z-index:180}.radar3d-guide h2{margin:2px 0 0;font-size:16px}.radar3d-guide-intro{margin-top:12px}.radar3d-guide-steps{gap:9px}.radar3d-guide-confirm{min-height:48px}.follow-badge{min-height:24px;padding:3px 7px;font-size:10px}.view-action-btn{min-width:0;min-height:44px;padding:9px 6px;font-size:11px;touch-action:manipulation}.control-panel label{padding:6px 8px;font-size:14px}.control-panel input[type=checkbox]{width:38px;height:20px}.control-panel input[type=checkbox]::after{width:16px;height:16px}.control-panel input[type=checkbox]:checked::after{transform:translateX(18px)}.control-panel h3{font-size:12px;margin-top:12px}.entity-row{padding:10px 8px;gap:10px;min-height:44px}.entity-row .hero-avatar{width:28px;height:28px}.entity-row .hp-bar{width:60px;height:6px}.info-panel h3{font-size:13px;padding:10px 4px 6px}.info-panel{height:55vh;max-height:55vh;padding-top:24px}}body.picking-calib{cursor:crosshair!important}body.picking-calib .radar-center canvas{cursor:crosshair!important}.radar-page{background:#dfe5e8}.radar-page::before{opacity:.45;animation:none}.panel-brand{display:flex;align-items:center;gap:10px;margin:0 0 8px;padding:10px;border:1px solid #d7e0e5;border-radius:12px;background:linear-gradient(145deg,#fff,#f1f5f7);box-shadow:0 6px 18px rgba(54,74,86,.08)}.panel-brand img{width:38px;height:38px;border-radius:9px;object-fit:cover;box-shadow:0 3px 10px rgba(18,32,42,.18)}.panel-brand div{min-width:0}.panel-brand strong{display:block;color:#17232d;font-size:14px;letter-spacing:.4px}.panel-brand small{display:block;margin-top:2px;color:#71808b;font-size:10px}.radar-page .control-panel{width:228px;min-width:228px;padding:12px;gap:5px;background:rgba(248,250,251,.96);border-color:#cbd5db;box-shadow:5px 0 22px rgba(57,74,84,.08)}.radar-page .control-panel h3{color:#44606f;border-left-color:#2583c5;letter-spacing:1.2px}.radar-page .control-panel h3::after{background:linear-gradient(90deg,#d1dbe0,transparent)}.radar-page .control-panel label{color:#283944}.radar-page .control-panel label:hover{background:#eaf3f8}.radar-page .control-panel input[type=checkbox]{background:#cbd4d9}.radar-page .control-panel input[type=checkbox]::after{background:#fff}.radar-page .control-panel input[type=checkbox]:checked{background:#2583c5;box-shadow:0 0 0 3px rgba(37,131,197,.12)}.radar-page .control-panel input[type=range]{accent-color:#2583c5}.radar-page .control-panel .btn,.radar-page .control-panel input[type=number],.radar-page .control-panel input[type=text]{background:#fff;color:#263742;border-color:#cbd6dc}.radar-page .control-panel .btn:hover{background:#eaf3f8;border-color:#2583c5}.radar-page .control-panel .btn.primary{background:#2583c5;border-color:#2583c5;color:#fff;box-shadow:0 5px 14px rgba(37,131,197,.2)}.radar-page .hint-text{color:#75838d}.radar-page .status-bar{top:10px;left:12px;right:12px;height:42px;padding:0 12px;border:1px solid rgba(187,199,206,.9);border-radius:11px;background:rgba(255,255,255,.88);color:#263742;box-shadow:0 7px 22px rgba(45,61,70,.12);backdrop-filter:blur(12px)}.radar-page .view-mode-toggle{background:#edf2f4!important;border-color:#cbd5da!important}.radar-page .view-mode-toggle button.active{background:#2583c5;color:#fff}.radar-page .view-mode-toggle button:hover:not(.active){background:#dce8ee;color:#20323d}.radar-page .info-panel{width:380px;min-width:380px;padding:12px;background:rgba(248,250,251,.96);border-color:#cbd5db;box-shadow:-5px 0 22px rgba(57,74,84,.08)}.player-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:10px 11px;border:1px solid #d6e0e5;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(54,74,86,.07)}.player-panel-header span{display:block;color:#20323d;font-size:14px;font-weight:800}.player-panel-header small{display:block;margin-top:2px;color:#71808b;font-size:10px}.player-panel-header>strong{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#e6f2f9;color:#1578c9;font-size:14px}.player-list{display:grid;gap:7px}.player-list-empty{padding:28px 12px;border:1px dashed #c8d3d9;border-radius:12px;color:#73818b;text-align:center}.radar-page .entity-row{min-height:74px;display:grid;grid-template-columns:42px 23px minmax(0,1fr) auto;grid-template-rows:24px 18px 18px;grid-template-areas:"avatar team name action" "avatar hpvalue health distance" "avatar equipment equipment weapon";column-gap:6px;row-gap:1px;padding:5px 7px;border:1px solid color-mix(in srgb,var(--player-team-color,#64748b) 38%,rgba(255,255,255,.16));border-radius:4px!important;background:linear-gradient(90deg,color-mix(in srgb,var(--player-team-color,#64748b) 24%,rgba(10,16,18,.94)) 0,rgba(18,24,25,.94) 76%);color:#eef4f1;box-shadow:inset 3px 0 0 var(--player-team-color,#64748b),0 2px 6px rgba(0,0,0,.25);overflow:hidden}.radar-page .entity-row .equipment{grid-area:equipment;align-self:center;min-width:0;overflow:hidden;color:#b9c8d2;font:600 9px/1.2 ui-monospace,SFMono-Regular,monospace;text-overflow:ellipsis;white-space:nowrap}.radar-page .entity-row .equipment-item{display:inline-flex;align-items:center;gap:3px;min-width:0;margin-right:9px}.radar-page .entity-row .equipment-icon{display:inline-block;width:11px;height:10px;flex:0 0 auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.8))}.radar-page .entity-row .equipment-icon-helmet{clip-path:polygon(8% 58%,15% 31%,34% 10%,66% 10%,85% 31%,92% 58%,72% 58%,68% 88%,55% 88%,52% 58%)}.radar-page .entity-row .equipment-icon-armor{clip-path:polygon(22% 4%,39% 18%,61% 18%,78% 4%,96% 28%,82% 40%,82% 96%,18% 96%,18% 40%,4% 28%)}.radar-page .entity-row .equipment-name{overflow:hidden;text-overflow:ellipsis;color:#cbd5dc}.radar-page .entity-row .equipment-durability{color:#f2f5f6;font-weight:800}.radar-page .entity-row:hover{border-color:color-mix(in srgb,var(--player-team-color,#64748b) 72%,#fff);background:linear-gradient(90deg,color-mix(in srgb,var(--player-team-color,#64748b) 32%,#111819) 0,#1a2325 78%);box-shadow:inset 3px 0 0 var(--player-team-color,#64748b),0 5px 13px rgba(0,0,0,.34)}.radar-page .entity-row::after{display:none!important}.radar-page .entity-row .hero-avatar-shell{grid-area:avatar;align-self:center;width:38px;height:38px;display:grid;place-items:center;border:2px solid var(--player-team-color,#64748b);border-radius:50%;background:#0d1517;box-shadow:0 0 0 2px rgba(0,0,0,.28);overflow:hidden}.radar-page .entity-row .hero-avatar{width:100%;height:100%;border:0;border-radius:50%}.radar-page .entity-row .hero-avatar-fallback{color:color-mix(in srgb,var(--player-team-color,#64748b) 80%,#fff);font-weight:900}.radar-page .entity-row .team-badge{grid-area:team;align-self:center;width:19px;height:19px;border:1px solid rgba(255,255,255,.34);box-shadow:0 1px 3px rgba(0,0,0,.35)}.radar-page .entity-row .name{grid-area:name;align-self:center;color:#f0f5f2;font-size:12px;font-weight:800;text-shadow:0 1px 2px #000}.radar-page .entity-row .hp-bar{grid-area:health;align-self:center;width:100%;min-width:32px;height:4px;background:rgba(255,255,255,.13);border-radius:1px}.radar-page .entity-row .hp-value{grid-area:hpvalue;display:inline-flex;align-items:center;gap:3px;color:#dce8e2;font:700 10px/1 ui-monospace,SFMono-Regular,monospace}.radar-page .entity-row .hp-value-icon{color:#f06464;font-size:9px}.radar-page .entity-row .hp-bar.hp-bar-unknown{background:repeating-linear-gradient(135deg,rgba(148,163,184,.28) 0 4px,rgba(148,163,184,.08) 4px 8px)}.radar-page .entity-row .hp-value.hp-value-unknown,.radar-page .entity-row .hp-value.hp-value-unknown .hp-value-icon{color:var(--dim)}.radar-page .entity-row .weapon{grid-area:weapon;align-self:center;width:auto;max-width:90px;color:#cbd5e1;font:700 10px/1.2 ui-monospace,SFMono-Regular,monospace}.radar-page .entity-row .dist{grid-area:distance;align-self:center;min-width:34px;color:#aebbb5;font-size:10px}.radar-page .entity-row [data-follow-action]{grid-area:action;align-self:center;padding:2px 6px!important;border-color:rgba(255,255,255,.18)!important;background:rgba(0,0,0,.18)!important;color:#bdc9c3!important;font-size:9px!important}.radar-page .entity-row.followed-target{border-color:#e6f4ed;background:linear-gradient(90deg,color-mix(in srgb,var(--player-team-color,#64748b) 38%,#131a1b),#202a2b);box-shadow:inset 3px 0 0 #fff,0 0 0 1px var(--player-team-color,#64748b),0 5px 14px rgba(0,0,0,.34)}.radar-page .entity-row:not(.player-card).player-state-downed{--player-team-color:#f59e0b!important;filter:saturate(.9)}.radar-page .entity-row:not(.player-card).player-state-waiting-rescue{--player-team-color:#ef4444!important;filter:saturate(.82)}.radar-page .entity-row:not(.player-card).player-state-reviving{--player-team-color:#22d3ee!important;filter:saturate(1.05)}.radar-page .entity-row.player-state .name{color:var(--player-state-color)}.radar-page .player-target-list{border-color:rgba(134,154,146,.24);background:rgba(12,18,19,.88);box-shadow:0 12px 28px rgba(0,0,0,.22)}.radar-page .player-target-list>header{min-height:34px;border-color:rgba(255,255,255,.08);background:rgba(22,29,29,.82);color:#e7eeea;letter-spacing:.02em}.radar-page .player-target-list>header b{background:rgba(255,255,255,.09);color:#dbe6e0;font-weight:700}.radar-page .player-target-list>header b::after{content:" 玩家";color:#9ba9a2;font-weight:500}.radar-page .player-target-list .player-list{gap:3px;padding:6px}.radar-page .player-target-list .player-list-empty{border-color:rgba(255,255,255,.14);color:#9ba8a2}.radar-page .player-list-heading-actions{display:inline-flex;align-items:center;gap:7px}.radar-page .player-list-heading-actions>button{width:24px;height:24px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:6px;background:rgba(255,255,255,.06);color:#aebbb5;font-size:16px;line-height:1;cursor:pointer}.radar-page .player-list-heading-actions>button:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.12);color:#fff}.radar-page .info-panel{width:360px;min-width:360px;height:auto;max-height:calc(100vh - 76px);display:flex;flex-direction:column;gap:8px;padding:0;border:0;background:0 0;box-shadow:none;backdrop-filter:none;overflow:visible}.radar-page .player-target-list{max-height:min(56vh,calc(100vh - 180px));display:flex;flex-direction:column}.radar-page .player-target-list .player-list{min-height:0;overflow-y:auto}.radar-page .entity-row [data-follow-action].active,.radar-page .follow-badge{border-color:#69bd95!important;background:#e6f7ef!important;color:#168453!important}.radar-page .radar3d-guide,.radar-page .view-action-bar{border-color:#c7d2d8;background:rgba(255,255,255,.94);color:#22333e;box-shadow:0 14px 38px rgba(43,60,70,.18)}.radar-page .camera-panel-header,.radar-page .indoor-clarity-control{border-color:#dbe2e6}.radar-page .camera-mode-btn,.radar-page .camera-panel-collapse,.radar-page .camera-tool-btn,.radar-page .indoor-clarity-btn,.radar-page .quality-mode-btn,.radar-page .view-action-btn{border-color:#ced8dd;background:#f3f6f8;color:#435661}.radar-page .camera-mode-btn:hover,.radar-page .camera-tool-btn:hover,.radar-page .quality-mode-btn:hover,.radar-page .view-action-btn:hover{border-color:#6eafd7;background:#eaf4fa;color:#1578c9}.radar-page .camera-mode-btn.active,.radar-page .quality-mode-btn.active{border-color:#2583c5;background:#e6f2f9;color:#1578c9;box-shadow:inset 0 0 0 1px rgba(37,131,197,.08)}.radar-page .camera-tool-btn.active{border-color:#83c7a5;background:#e8f7ef;color:#168453}.radar-page .camera-mode-btn.active small{color:#4f7e99}.radar-page .camera-quality-control,.radar-page .quality-feature-chip{border-color:#d5dfe4;background:#f6f8f9}.radar-page .camera-current-state strong,.radar-page .camera-quality-title,.radar-page .indoor-clarity-title{color:#273944}.radar-page .camera-current-state b,.radar-page .indoor-clarity-status.enabled{color:#168453}.radar-page .quality-feature-chip.on{color:#168453}.radar-page .quality-feature-chip.off{color:#7d8991}.radar-page .indoor-clarity-btn.enabled{border-color:#83c7a5;background:#e8f7ef;color:#168453}.radar-page .radar3d-guide-confirm,.radar-page .radar3d-guide-steps li>span{border-color:#7db7da;background:#e8f3f9;color:#1578c9}.radar-page .radar3d-guide-intro{background:#eef6fa;color:#526873}.radar-page .radar3d-guide-close{color:#71808a}.radar-page .radar3d-guide-close:hover{background:#edf2f4;color:#273944}.radar-page .radar-toast{border-color:#a7c8dc;background:rgba(255,255,255,.96);color:#263742;box-shadow:0 10px 28px rgba(45,61,70,.16)}.radar-page .disconnect-overlay{background:rgba(229,235,238,.88)}@media (max-width:1180px) and (min-width:769px){.radar-page .control-panel{width:208px;min-width:208px}.radar-page .info-panel{width:330px;min-width:330px}}@media (max-width:768px){.radar-page .mobile-toggle-bar{background:rgba(250,252,253,.97);border-color:#cbd5db;box-shadow:0 -5px 18px rgba(48,66,76,.12)}.radar-page .mobile-toggle-bar button{border-color:#cbd5db;background:#f2f6f8;color:#435661}.radar-page .mobile-toggle-bar button.active{border-color:#2583c5;background:#e6f2f9;color:#1578c9;box-shadow:none}.radar-page .panel-backdrop{background:rgba(55,69,77,.28)}.radar-page .control-panel,.radar-page .info-panel{background:#f8fafb!important}.radar-page .control-panel{width:280px;min-width:unset;box-shadow:5px 0 22px rgba(48,66,76,.16)}.radar-page .info-panel{width:100%;min-width:unset;padding:24px 10px 10px;box-shadow:0 -6px 22px rgba(48,66,76,.16)}.radar-page .info-panel::before{background:#b6c4cb}.radar-page .status-bar{top:6px;left:6px;right:6px;height:38px}.radar-page .entity-row{min-height:68px;padding:9px}.radar-page .entity-row [data-follow-action]{grid-area:action;align-self:center}}.desktop-panel-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.desktop-panel-actions button{min-height:28px;padding:4px 9px;border:1px solid #c9d4da;border-radius:7px;background:#f0f4f6;color:#536671;font:700 11px/1 system-ui,sans-serif;cursor:pointer}.desktop-panel-actions button.active,.desktop-panel-actions button:hover{border-color:#67a9d2;background:#e4f1f8;color:#1578c9}.desktop-panel-actions b{min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;margin-left:3px;border-radius:6px;background:#fff;font-size:10px}.player-panel-actions{display:flex;align-items:center;gap:6px}.player-panel-actions>strong{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#e6f2f9;color:#1578c9;font-size:14px}.player-panel-actions>button{width:34px;height:34px;border:1px solid #d1dbe0;border-radius:10px;background:#f3f6f8;color:#667680;font-size:20px;line-height:1;cursor:pointer}.player-panel-actions>button:hover{border-color:#7db3d4;background:#e8f3f9;color:#1578c9}@media (min-width:769px){.radar-page .radar-layout{display:block}.radar-page .radar-center{position:absolute;inset:0;width:100%;height:100%}.radar-page .status-bar{z-index:60}.radar-page .control-panel,.radar-page .info-panel{position:absolute;top:64px;bottom:12px;z-index:55;height:auto;border:1px solid #c9d4da;border-radius:14px;transition:transform .22s ease,opacity .18s ease,visibility .18s,bottom .22s ease}.radar-page .control-panel{left:12px;transform:translateX(calc(-100% - 24px));opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 14px 34px rgba(45,62,72,.18)}.radar-page .info-panel{right:12px;transform:translateX(calc(100% + 24px));opacity:0;visibility:hidden;pointer-events:none;box-shadow:0 14px 34px rgba(45,62,72,.18)}.radar-page.view-3d .info-panel{bottom:var(--camera-panel-reserved-bottom,86px)}.radar-page .control-panel.desktop-open,.radar-page .info-panel.desktop-open{transform:translateX(0);opacity:1;visibility:visible;pointer-events:auto}}@media (max-width:1050px) and (min-width:769px){.desktop-panel-actions button{padding-inline:7px}.radar-page .status-bar{gap:10px}}@media (max-width:768px){.desktop-panel-actions{display:none}.player-panel-actions>button{display:none}}@media (min-width:769px){.radar-page .control-panel{width:330px;min-width:330px}.radar-page.view-3d .info-panel{bottom:12px}}.radar-page .item-target-list{min-height:76px;max-height:min(34vh,360px);display:flex;flex-direction:column;border-color:rgba(180,146,65,.28);background:rgba(12,18,19,.88);box-shadow:0 12px 28px rgba(0,0,0,.22)}.radar-page .item-target-list>header{min-height:34px;border-color:rgba(255,255,255,.08);background:rgba(22,29,29,.82);color:#e7eeea}.radar-page .item-target-list>header b{background:rgba(250,204,21,.14);color:#fde68a}.radar-page .item-target-list>header b::after{content:" 件";color:#bba977;font-weight:500}.radar-page .item-target-list .player-list{min-height:0;overflow-y:auto;gap:2px;padding:4px 6px 6px}.radar-page .item-target-list .player-list-empty{padding:12px 8px;border:0;font-size:11px}.radar-page .item-compact-row{min-height:30px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:4px 7px;border-radius:7px;color:#dce8e2;cursor:pointer}.radar-page .item-compact-row:hover{background:rgba(255,255,255,.08)}.radar-page .item-compact-name{min-width:0;overflow:hidden;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.radar-page .item-compact-arrow{color:#74817b;font-size:11px}.radar-page .item-compact-price{color:#facc15;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}@media (min-width:769px){.radar-page .info-panel,.radar-page.view-3d .info-panel{bottom:auto;height:auto;max-height:calc(100vh - 76px);border:0;border-radius:0;background:0 0;box-shadow:none}}@media (max-width:768px){.radar-page .info-panel{left:10px;right:10px;bottom:calc(58px + env(safe-area-inset-bottom,0px));width:auto;min-width:0;height:auto;max-height:min(70vh,calc(100vh - 116px));padding:0;border:0;border-radius:0;background:0 0!important;box-shadow:none;overflow:visible}.radar-page .info-panel::before{display:none}.radar-page .player-target-list{max-height:min(42vh,calc(100vh - 220px))}.radar-page .item-target-list{max-height:min(28vh,300px)}}@media (min-width:769px){.radar-page .radar-loot-panel{position:absolute;top:64px;left:12px;z-index:54;width:330px;min-height:0;max-height:min(52vh,calc(100vh - 88px));border:1px solid rgba(226,236,232,.2);border-radius:12px;background:linear-gradient(145deg,rgba(24,32,32,.7),rgba(9,15,16,.58));box-shadow:0 14px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);overflow:hidden;transition:top .22s ease,width .22s ease,max-height .22s ease}.radar-page .radar-loot-panel>header{background:rgba(22,29,29,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.radar-page.view-3d .radar-loot-panel{top:calc(56px + clamp(320px,16vw,400px) + 12px);left:16px;width:clamp(320px,16vw,400px);max-height:min(42vh,calc(100vh - 56px - clamp(320px,16vw,400px) - 28px))}.radar-page .info-panel .player-target-list{max-height:calc(100vh - 76px)}}@media (max-width:1100px) and (min-width:769px){.radar-page.view-3d .radar-loot-panel{top:348px;width:280px;max-height:min(40vh,calc(100vh - 364px))}}@media (min-width:769px){.radar-page.view-sandbox .radar-loot-panel{top:68px;max-height:calc(100vh - 84px)}}@media (max-width:768px){.radar-page .radar-loot-panel{position:static;width:auto;min-height:76px}}.radar3d-world-label-layer{position:absolute;inset:0;z-index:14;display:none;overflow:hidden;pointer-events:none;contain:layout paint}.radar-page.view-3d .radar3d-world-label-layer{display:block}.radar3d-world-label{--marker-color:#22c55e;position:absolute;top:0;left:0;width:164px;min-height:36px;box-sizing:border-box;display:flex;align-items:center;gap:7px;padding:5px 7px;border:1px solid color-mix(in srgb,var(--marker-color) 78%,#fff 12%);border-radius:7px;background:linear-gradient(135deg,rgba(25,36,39,.72),rgba(7,15,17,.56));box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 3px 0 0 var(--marker-color),0 5px 14px rgba(0,0,0,.24);color:#f6faf8;backdrop-filter:blur(7px) saturate(135%);-webkit-backdrop-filter:blur(7px) saturate(135%);will-change:transform}.radar3d-world-label[hidden]{display:none!important}.radar3d-world-label::after{content:'';position:absolute;left:50%;bottom:-6px;width:9px;height:9px;border-right:1px solid var(--marker-color);border-bottom:1px solid var(--marker-color);background:rgba(8,16,18,.68);transform:translateX(-50%) rotate(45deg)}.radar3d-world-label>span{min-width:0;display:grid;gap:1px}.radar3d-world-label small,.radar3d-world-label strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 1px rgba(0,0,0,.82)}.radar3d-world-label strong{font:800 12px/14px "PingFang SC","Microsoft YaHei",system-ui,sans-serif;letter-spacing:.05px}.radar3d-world-label small{color:#c9d8d5;font:700 9.5px/11px "PingFang SC","Microsoft YaHei",system-ui,sans-serif}.radar3d-world-label-icon{flex:0 0 auto;width:9px;height:9px;box-sizing:border-box;border:1px solid rgba(1,6,8,.86);background:var(--marker-color);box-shadow:0 0 0 1px color-mix(in srgb,var(--marker-color) 48%,transparent);transform:rotate(45deg)}.radar3d-world-label.deadbox{--marker-color:#d8b4fe;width:184px}.radar3d-world-label.deadbox .radar3d-world-label-icon{position:relative;width:12px;height:9px;border-color:#f3e8ff;border-radius:2px;background:#9333ea;transform:none}.radar3d-world-label.deadbox .radar3d-world-label-icon::after,.radar3d-world-label.deadbox .radar3d-world-label-icon::before{content:'';position:absolute;background:#f3e8ff}.radar3d-world-label.deadbox .radar3d-world-label-icon::before{top:3px;left:1px;right:1px;height:1px}.radar3d-world-label.deadbox .radar3d-world-label-icon::after{top:1px;bottom:1px;left:5px;width:1px}.radar-page .player-target-list{border:1px solid rgba(192,218,225,.12);border-radius:11px;background:linear-gradient(180deg,rgba(20,36,43,.48),rgba(40,60,68,.3));box-shadow:0 8px 28px rgba(7,19,24,.18),inset 0 1px 0 rgba(223,240,244,.06);backdrop-filter:blur(10px) saturate(125%);-webkit-backdrop-filter:blur(10px) saturate(125%);overflow:hidden;font-family:"Microsoft YaHei","PingFang SC",sans-serif}.radar-page .player-target-list>header{position:relative;flex:0 0 54px;min-height:54px;padding:0 18px;border-bottom:1px solid rgba(207,224,227,.08);background:rgba(16,26,31,.08);color:#e0e4e5;font-size:16px;font-weight:800;letter-spacing:0}.radar-page .player-target-list>header b{display:inline-block;min-width:68px;padding:4px 12px;background:rgba(211,216,218,.14);color:#b9bfc1;font-size:11px;line-height:16px}.radar-page .player-target-list>header b::after{color:inherit}.radar-page .player-list-heading-actions{gap:0}.radar-page .player-list-heading-actions>button{position:absolute;right:3px;top:2px;width:18px;height:18px;border:0;background:0 0;opacity:0}.radar-page .player-target-list>header:focus-within button,.radar-page .player-target-list>header:hover button{opacity:1}.radar-page .player-target-list .player-list{display:flex;flex-direction:column;gap:7px;padding:10px 18px 18px;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(209,227,230,.2) transparent;overscroll-behavior:contain}.radar-page .player-card{position:relative;display:grid;flex:0 0 69px;min-height:69px;grid-template-columns:44px minmax(0,1fr) auto;grid-template-rows:23px 22px;grid-template-areas:"avatar name name" "avatar equipment equipment";gap:1px 10px;padding:9px 11px 13px 9px;border:0;border-radius:0!important;background:linear-gradient(100deg,color-mix(in srgb,var(--player-team-tint,#8eabad) 23%,transparent),color-mix(in srgb,var(--player-team-tint,#8eabad) 15%,transparent)),rgba(158,181,181,.08);color:#d8e1e3;box-shadow:none;overflow:hidden}.radar-page .player-card.followed-target,.radar-page .player-card:hover{box-shadow:inset 0 0 0 1px rgba(214,237,241,.42);filter:brightness(1.1)}.radar-page .player-card .hero-avatar-shell{align-self:center;width:42px;height:42px;border:0;background:var(--player-team-color);box-shadow:none;overflow:hidden}.radar-page .player-card .hero-avatar{width:100%;height:100%;object-fit:cover;object-position:center 18%;border-radius:0}.radar-page .player-card .team-badge{position:absolute;left:25px;top:40px;width:auto;min-width:23px;height:16px;padding:0 4px;border:0;border-radius:3px;background:var(--player-team-color,grey)!important;box-shadow:none;color:var(--player-team-contrast,#fff);font-size:11px;line-height:16px;font-weight:800}.radar-page .player-card .name{align-self:start;min-width:0;margin-top:1px;color:#d7e0e2;font-size:14px;line-height:21px;font-weight:750;text-shadow:0 0 1px rgba(222,235,237,.22)}.radar-page .player-card .player-name-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radar-page .player-card .player-hero-name{color:#9fadb0;font-weight:500;margin-right:5px}.radar-page .player-card .equipment{align-self:start;display:flex;gap:5px;margin-top:0;margin-right:140px;overflow:hidden;font:700 12px/16px "Microsoft YaHei","PingFang SC",sans-serif}.radar-page .player-card .equipment-item{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:21px;gap:5px;margin:0;padding:2px 6px;border-radius:4px;background:rgba(203,220,223,.14);flex-shrink:0}.radar-page .player-card .equipment-name{display:none}.radar-page .player-card .equipment-durability{color:#d0dcdf;font-weight:750}.radar-page .player-card .equipment-icon{width:13px;height:14px;filter:none;opacity:.82}.radar-page .player-card .equipment-icon-helmet{clip-path:polygon(4% 70%,4% 42%,15% 21%,35% 10%,65% 10%,85% 27%,96% 49%,96% 89%,64% 89%,60% 64%,36% 61%,25% 70%)}.radar-page .player-card .equipment-icon-armor{clip-path:polygon(16% 3%,36% 3%,38% 25%,63% 25%,65% 3%,84% 3%,84% 34%,94% 49%,87% 97%,13% 97%,6% 49%,16% 34%)}.radar-page .player-card .weapon{position:absolute;right:11px;top:24px;width:max-content;max-width:140px;padding:3px 10px;border-radius:999px;background:rgba(205,220,224,.19);color:#e5edef;font:750 12px/16px "Microsoft YaHei","PingFang SC",sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radar-page .player-card .hp-bar{position:absolute;bottom:0;left:0;width:100%;min-width:0;height:4px;border-radius:0;background:rgba(183,184,174,.24)}.radar-page .player-card .hp-bar-fill{border-radius:0;background:#a6a89e!important}.radar-page .player-card .dist,.radar-page .player-card .hp-value{display:none}.radar-page .player-card [data-follow-action]{position:absolute;right:10px;top:3px;height:20px;min-height:0;min-width:0;line-height:16px;opacity:0;pointer-events:none}.radar-page .player-card.followed-target [data-follow-action],.radar-page .player-card:focus-within [data-follow-action],.radar-page .player-card:hover [data-follow-action]{opacity:1;pointer-events:auto}.radar-page .player-card.followed-target .name,.radar-page .player-card:focus-within .name,.radar-page .player-card:hover .name{padding-right:48px}@media (min-width:769px){.radar-page .info-panel{width:430px;min-width:430px}}@media (max-width:420px){.radar-page .player-target-list .player-list{padding-left:10px}.radar-page .player-card{column-gap:8px}.radar-page .player-card .weapon{max-width:108px;font-size:11px}.radar-page .player-card .equipment{margin-right:105px;gap:3px}.radar-page .player-card .equipment-item{min-width:38px;padding-inline:4px}}@media (hover:none){.radar-page .player-card [data-follow-action],.radar-page .player-list-heading-actions>button{opacity:1;pointer-events:auto}.radar-page .player-card .name{padding-right:48px}}
