.map-canvas-container{width:100%;height:100%;position:relative;background:#000}.map-canvas{width:100%;height:100%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.map-canvas:active{cursor:grabbing}.view-controls{position:absolute;bottom:20px;left:20px;display:flex;align-items:center;gap:8px}.view-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#000000b3;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#ffffffb3;font-size:13px;cursor:pointer;transition:all .3s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:42px;background:#ffffff1a;border-color:#ffffff4d;color:#fff}.view-btn:hover{background:#ffffff38;border-color:#ffffff80;color:#fff}.view-btn.active{border-color:#0f0}.view-btn.combat-btn.active{border-color:#ff453a}.view-btn.small{padding:8px 10px}.view-icon{font-size:14px}.view-text{font-size:12px;font-weight:500}.zoom-display{padding:6px 12px;background:#0009;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#ffffffb3;font-size:12px;font-family:monospace}.debug-panel{position:absolute;top:20px;background-color:#fffffff2;color:#000;padding:12px;border-radius:8px;font-size:12px;z-index:100}.debug-panel input[type=text]{width:80px;margin:2px;padding:4px;border:1px solid #ccc;border-radius:4px}.debug-panel button{margin-top:8px;padding:4px 8px;cursor:pointer}.floor-selector{position:absolute;top:20px;right:20px;background:#3c3c435c;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:8px 12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.floor-label{font-size:12px;color:#fff9;margin-bottom:6px}.floor-buttons{display:flex;gap:4px}.floor-btn{width:36px;height:28px;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff9;font-size:12px;cursor:pointer;transition:all .3s}.floor-btn:hover{background:#ffffff1a;color:#fff}.floor-btn.active{background:linear-gradient(135deg,#2bbcff,#00e0c7);border-color:transparent;color:#fff}.player-tooltip{position:fixed;background:#05080af2;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:12px;min-width:200px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 4px 16px #00000080;z-index:1000;pointer-events:none}.tooltip-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.hero-avatar{width:48px;height:48px;border-radius:8px;border:2px solid rgba(255,255,255,.2)}.player-info{flex:1}.player-name{font-size:16px;font-weight:600;color:#fff;margin-bottom:2px}.xxx-badge{font-size:10px;padding:1px 6px;border-radius:4px;font-weight:700;background:linear-gradient(135deg,#ffd70040,#ffa50033);color:gold;border:1px solid rgba(255,215,0,.5);box-shadow:0 0 6px #ffd70033;white-space:nowrap;flex-shrink:0;margin-left:4px}.player-hero{font-size:12px;color:#2bbcff;margin-bottom:2px}.player-hero-row{display:flex;justify-content:space-between;align-items:center}.player-team{font-size:11px;color:#ffffff80}.player-level{font-size:12px;color:#ffffff80}.tooltip-stats{display:flex;flex-direction:column;gap:6px}.stat-item{display:flex;justify-content:space-between;font-size:13px}.stat-label{color:#fff9}.stat-value{color:#fff;font-weight:500}.distance-with-height{display:flex;align-items:center;gap:4px}.height-tag{font-size:10px;padding:1px 4px;border-radius:3px;font-weight:500}.height-tag.height-up{background:#22c55e80;color:#fff}.height-tag.height-down{background:#ef444480;color:#fff}.equipment-value{display:flex;align-items:center;gap:6px}.equipment-tag{display:inline-flex;align-items:center;font-size:11px;padding:2px 5px;border-radius:3px;color:#fff;font-weight:500}.debug-coords{position:fixed;background:#000c;border:1px solid rgba(255,255,255,.3);border-radius:4px;padding:4px 8px;pointer-events:none;font-family:Courier New,monospace;font-size:11px;line-height:1.4;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.coord-item{color:#0f8;white-space:nowrap}@media screen and (max-width: 1024px){.map-controls{bottom:80px;right:16px;gap:10px}.view-controls{bottom:80px;left:16px;flex-wrap:wrap}.view-btn{padding:10px 16px;font-size:14px}.view-btn .view-icon{font-size:16px}.floor-selector{top:112px;left:50%;right:auto;padding:12px 20px;transform:translate(-50%);z-index:900;border-radius:22px;text-align:center}.floor-btn{width:42px;height:36px;font-size:14px}.player-tooltip{padding:14px;min-width:220px}}@media screen and (max-width: 640px){.view-btn .view-text{display:none}.view-btn{padding:10px;width:42px;height:42px}.map-controls{bottom:16px;right:12px}.view-controls{bottom:16px;left:12px}.floor-label{display:none}.floor-selector{top:88px;padding:10px 16px;border-radius:12px}}@media screen and (orientation: landscape) and (max-height: 500px){.view-controls{bottom:calc(16px + env(safe-area-inset-bottom,0px));left:calc(16px + env(safe-area-inset-left,0px));flex-wrap:nowrap}}.player-list{flex:1;min-height:0;display:flex;flex-direction:column}.list-header{padding:16px 18px;border-bottom:1px solid rgba(43,188,255,.15);background:#0003}.header-top{display:flex;align-items:center;justify-content:space-between}.sort-toggle{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#2bbcff26;border:1px solid rgba(43,188,255,.3);border-radius:12px;color:#2bbcff;font-size:11px;cursor:pointer;transition:all .3s;outline:none}.sort-toggle:hover{background:#2bbcff40;border-color:#2bbcff80;transform:translateY(-1px)}.sort-toggle:active{transform:translateY(0)}.sort-icon{font-size:12px}.sort-text{font-weight:500}.stats{display:flex;gap:12px}.stat-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#ffffffb3;padding:4px 10px;background:#ffffff0d;border-radius:12px}.list-filters{padding:12px 18px;border-bottom:1px solid rgba(43,188,255,.1);display:flex;flex-wrap:wrap;gap:10px;background:#0000001a}.filter-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#ffffffb3;cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 10px;background:#ffffff08;border-radius:6px;transition:all .2s}.filter-item:hover{background:#ffffff14;color:#fff}.filter-item input[type=checkbox]{cursor:pointer;accent-color:#2bbcff}.list-content{flex:1;overflow-y:auto;padding:10px}.player-item{display:flex;flex-direction:column;padding:10px 12px 8px;margin-bottom:8px;background:linear-gradient(135deg,#ffffff08,#ffffff03);border:1px solid rgba(255,255,255,.06);border-radius:12px;transition:all .3s;position:relative}.player-item:hover{background:linear-gradient(135deg,#ffffff0f,#ffffff08);border-color:#2bbcff4d;transform:translate(4px)}.player-item.is-local{background:linear-gradient(135deg,#00d9ff26,#00d9ff0d);border-color:#00d9ff66;box-shadow:0 0 20px #00d9ff1a}.player-item.is-selected{background:linear-gradient(135deg,#0f03,#00ff0014);border-color:#00ff0080;box-shadow:0 0 20px #00ff0026}.player-item.is-dead{opacity:.4;filter:grayscale(.5)}.player-top{display:flex;align-items:flex-start;gap:10px}.player-avatar{position:relative;width:46px;height:46px;flex-shrink:0;margin-top:0}.player-avatar img{display:block;width:100%;height:100%;border-radius:10px;border:2px solid rgba(255,255,255,.15);object-fit:cover;transition:all .3s}.player-item:hover .player-avatar img{border-color:#2bbcff80}.local-badge{position:absolute;bottom:-3px;right:-3px;background:linear-gradient(135deg,#00d9ff,#09c);color:#fff;font-size:9px;padding:2px 5px;border-radius:4px;font-weight:700;box-shadow:0 2px 6px #00d9ff66}.player-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.player-badges-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.team-badge{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:500;line-height:1.2}.hero-name{font-size:11px;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.xxx-badge{font-size:10px;padding:1px 6px;border-radius:4px;font-weight:700;background:linear-gradient(135deg,#ffd70040,#ffa50033);color:gold;border:1px solid rgba(255,215,0,.5);box-shadow:0 0 6px #ffd70033;white-space:nowrap;flex-shrink:0;line-height:1.2}.team-a{background:#4cd96433;color:#4cd964}.team-b{background:#ff3b3033;color:#ff3b30}.player-stats-row{display:flex;gap:6px;flex-wrap:wrap}.equip-item{display:flex;align-items:center;gap:3px;padding:2px 6px;background:#0000004d;border:1px solid;border-radius:4px}.equip-emoji{font-size:11px}.equip-level{font-size:11px;font-weight:600}.player-weapon{display:flex;align-items:center;gap:4px;font-size:11px;color:#fff9;min-width:0}.weapon-icon{font-size:10px}.weapon-icon-img{width:18px;height:18px;object-fit:contain;flex-shrink:0}.weapon-name{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-kd{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;min-width:36px;padding:4px 6px;background:#ff3b3014;border:1px solid rgba(255,59,48,.2);border-radius:8px;line-height:1}.kd-value{font-size:16px;font-weight:700;color:#ff6b6b;line-height:1.1}.kd-label{font-size:9px;color:#ffffff80;margin-top:2px}.player-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.08)}.player-name{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.player-distance{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:#00d9ff;flex-shrink:0;padding:2px 8px;background:#00d9ff14;border:1px solid rgba(0,217,255,.2);border-radius:10px}.distance-icon{font-size:11px}.distance-value{font-variant-numeric:tabular-nums}.debug-coords{position:absolute;bottom:4px;right:8px;background:#ffa50026;border:1px solid rgba(255,165,0,.3);border-radius:6px;padding:3px 6px;font-size:9px;font-family:Courier New,monospace;color:orange;line-height:1.3;pointer-events:none}.coord-line{white-space:nowrap}.empty-state{text-align:center;padding:40px 20px;color:#fff6}.control-panel{overflow-y:auto;padding:16px 18px}.panel-section{margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid rgba(43,188,255,.1)}.panel-section:last-child{border-bottom:none;margin-bottom:0}.section-title{font-size:12px;font-weight:600;color:#ffffffe6;margin-bottom:12px;text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;gap:8px}.section-title:before{content:"";width:3px;height:14px;background:linear-gradient(180deg,#2bbcff,#00e0c7);border-radius:2px}.control-group{display:flex;flex-direction:column;gap:8px}.control-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#ffffffbf;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s;padding:6px 10px;border-radius:6px;margin:0 -10px}.control-label:hover{color:#fff;background:#ffffff0d}.control-label input[type=checkbox]{cursor:pointer;accent-color:#2bbcff;width:16px;height:16px}.section-hint{font-size:11px;font-weight:400;color:#fff6}.rarity-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.rarity-label{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none}.rarity-label input[type=checkbox]{cursor:pointer;display:none}.rarity-tag{font-size:11px;padding:4px 8px;border-radius:4px;border:1px solid;transition:all .2s}.rarity-label input:checked+.rarity-tag{box-shadow:0 0 8px currentColor}.rarity-label input:not(:checked)+.rarity-tag{opacity:.4}.quick-actions{display:flex;gap:6px;margin-top:10px}.quick-btn{flex:1;padding:6px 8px;font-size:11px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#ffffffb3;cursor:pointer;transition:all .2s}.quick-btn:hover{background:#ffffff1a;border-color:#ffffff4d;color:#fff}.slider-control{display:flex;flex-direction:column;gap:8px}.slider-label{font-size:13px;color:#fffc;display:flex;justify-content:space-between}.slider-value{color:#2bbcff;font-weight:600}.slider{width:100%;height:6px;border-radius:3px;background:#ffffff1a;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#2bbcff,#00e0c7);cursor:pointer;box-shadow:0 2px 8px #2bbcff66}.slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:linear-gradient(135deg,#2bbcff,#00e0c7);cursor:pointer;border:none;box-shadow:0 2px 8px #2bbcff66}.info-grid{display:flex;flex-direction:column;gap:8px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:linear-gradient(135deg,#ffffff0a,#ffffff05);border:1px solid rgba(255,255,255,.05);border-radius:8px;transition:all .2s}.info-item:hover{background:linear-gradient(135deg,#ffffff0f,#ffffff08);border-color:#2bbcff33}.info-label{font-size:12px;color:#ffffff80}.info-value{font-size:13px;color:#fff;font-weight:600}.text-success{color:#4cd964}.loot-stats{display:flex;justify-content:space-around;padding:20px 16px;background:linear-gradient(135deg,#2bbcff14,#00e0c714);border:1px solid rgba(43,188,255,.15);border-radius:12px}.loot-stat-item{display:flex;flex-direction:column;align-items:center;gap:8px}.loot-count{font-size:32px;font-weight:700;background:linear-gradient(135deg,#2bbcff,#00e0c7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(43,188,255,.3)}.loot-count.loot-value{font-size:22px;background:linear-gradient(135deg,#ff8000,#ff3b30);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.loot-label{font-size:10px;color:#ffffff80;text-transform:uppercase;letter-spacing:1px;font-weight:500}.section-hint{margin-top:10px;padding:8px 12px;background:#2bbcff1a;border:1px solid rgba(43,188,255,.2);border-radius:6px;font-size:11px;color:#fff9}.map-selector-control{width:100%}.map-select-dropdown{width:100%;padding:10px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#fff;font-size:14px;cursor:pointer;outline:none;transition:all .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.map-select-dropdown:hover{background-color:#ffffff1a;border-color:#ffffff40}.map-select-dropdown:focus{border-color:#2bbcff;box-shadow:0 0 0 2px #2bbcff33}.map-select-dropdown option{background:#0b2029;color:#fff;padding:8px}.xxx-label{flex-wrap:wrap}.xxx-info-link{font-size:11px;color:#2bbcffd9;text-decoration:underline;cursor:pointer;flex-shrink:0}.xxx-info-link:hover{color:#2bbcff}.xxx-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:9000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.xxx-modal{width:380px;max-width:92vw;background:linear-gradient(135deg,#071117fa,#0b1920fa);border:1px solid rgba(43,188,255,.35);border-radius:14px;box-shadow:0 12px 40px #00000080;overflow:hidden}.xxx-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#2bbcff1a;border-bottom:1px solid rgba(43,188,255,.15)}.xxx-modal-title{font-size:14px;font-weight:600;color:#fffffff2}.xxx-modal-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffb3;font-size:14px;cursor:pointer;transition:all .2s}.xxx-modal-close:hover{background:#ff3b3033;border-color:#ff3b3066;color:#ff6b6b}.xxx-modal-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:10px}.xxx-modal-body p{margin:0;font-size:13px;color:#ffffffd9;line-height:1.6}.xxx-modal-hint{margin-top:4px!important;font-size:12px!important;color:#ffffff73!important;padding:8px 10px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:6px}.stats-popup{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:8px;background:#08141af2;border:1px solid rgba(43,188,255,.2);border-radius:8px;padding:12px;min-width:180px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #0006;z-index:1000;pointer-events:none}.stats-group{display:flex;flex-direction:column;gap:4px}.stats-header{color:#2bbcff;font-size:12px;font-weight:600;margin-bottom:2px}.stats-row{display:flex;justify-content:space-between;font-size:12px;color:#ffffffb3}.value{color:#fff;font-family:monospace}.divider{height:1px;background:#ffffff1a;margin:8px 0}.fade-enter-active,.fade-leave-active{transition:opacity .2s,transform .2s}.fade-enter-from,.fade-leave-to{opacity:0;transform:translate(-50%) translateY(-5px)}.chat-root{position:fixed;right:20px;bottom:20px;z-index:4500;font-family:inherit;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end}.chat-root>*{pointer-events:auto}.chat-fab{position:relative;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#071117d9;border:1px solid rgba(255,215,0,.4);border-radius:50%;box-shadow:0 4px 14px #0006,inset 0 0 0 1px #ffffff0a;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:all .2s ease}.chat-fab:hover{background:#0b1920eb;border-color:#ffd700b3;transform:scale(1.06);box-shadow:0 6px 18px #00000080,0 0 12px #ffd70040}.chat-fab:active{transform:scale(.94)}.chat-fab.has-unread{border-color:#ffd700e6;animation:chat-pulse-6c2d0201 1.8s ease-in-out infinite}@keyframes chat-pulse-6c2d0201{0%,to{box-shadow:0 4px 14px #0006,0 0 #ffd70080}50%{box-shadow:0 4px 14px #0006,0 0 0 4px #ffd70000}}.chat-fab-icon{font-size:15px;line-height:1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.chat-fab-badge{position:absolute;top:-4px;right:-4px;min-width:15px;height:15px;padding:0 4px;background:#ff3b30;color:#fff;font-size:9px;font-weight:700;border-radius:8px;display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(10,14,26,.95);font-variant-numeric:tabular-nums;line-height:1}.chat-panel{width:320px;height:440px;display:flex;flex-direction:column;background:linear-gradient(135deg,#071117fa,#0b1920fa);border:1px solid rgba(255,215,0,.3);border-radius:14px;box-shadow:0 12px 40px #00000080,0 0 24px #ffa5001a;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(135deg,#ffd7001f,#ffa50014);border-bottom:1px solid rgba(255,215,0,.2);flex-shrink:0}.chat-header-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.chat-header-icon{font-size:16px}.chat-header-text{background:linear-gradient(135deg,gold,orange);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.chat-status-dot{width:7px;height:7px;border-radius:50%}.chat-status-dot.online{background:#4cd964;box-shadow:0 0 6px #4cd964b3}.chat-status-dot.offline{background:#ff9500;box-shadow:0 0 6px #ff950099;animation:chat-pulse-dot-6c2d0201 1.5s ease-in-out infinite}@keyframes chat-pulse-dot-6c2d0201{0%,to{opacity:1}50%{opacity:.4}}.chat-header-actions{display:flex;align-items:center;gap:6px}.chat-online-count{font-size:11px;color:#fff9;padding:3px 8px;background:#ffffff0d;border-radius:10px;font-variant-numeric:tabular-nums;cursor:help}.chat-icon-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffb3;font-size:14px;cursor:pointer;transition:all .2s;line-height:1}.chat-icon-btn:hover{background:#ffffff1f;color:#fff}.chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#ffffff40}.chat-empty{margin:auto;color:#ffffff4d;font-size:12px;text-align:center}.chat-msg{display:flex;flex-direction:column;max-width:85%}.chat-msg.is-self{align-self:flex-end;align-items:flex-end}.chat-msg.is-peer{align-self:flex-start}.chat-msg.is-system{align-self:stretch;max-width:100%}.chat-msg-meta{display:flex;align-items:baseline;gap:6px;margin-bottom:3px;font-size:10px;padding:0 4px}.chat-msg-from{color:#ffd700d9;font-weight:600}.chat-msg.is-self .chat-msg-from{color:#66dcffd9}.chat-msg-time{color:#ffffff4d;font-variant-numeric:tabular-nums}.chat-msg-bubble{padding:7px 11px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#ffffffeb;font-size:13px;line-height:1.45;word-break:break-word;white-space:pre-wrap}.chat-msg.is-self .chat-msg-bubble{background:linear-gradient(135deg,#2bbcff59,#2bbcff33);border-color:#2bbcff66}.chat-msg-system{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;background:linear-gradient(135deg,#ffd7001f,#ffa50014);border:1px solid rgba(255,215,0,.3);border-radius:8px;color:#ffe696f2;font-size:12.5px;line-height:1.5}.chat-msg-system-icon{flex-shrink:0;font-size:14px}.chat-msg-system-text{flex:1}.chat-alone-tip{display:flex;align-items:flex-start;gap:6px;padding:7px 10px;background:#ffa50012;border:1px solid rgba(255,165,0,.25);border-radius:8px;color:#ffc864cc;font-size:11.5px;line-height:1.5;flex-shrink:0}.chat-alone-tip-icon{flex-shrink:0;font-size:13px;line-height:1.5}.chat-input-row{display:flex;gap:8px;padding:10px 12px;background:#00000040;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0}.chat-input{flex:1;padding:8px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#ffffffeb;font-size:13px;outline:none;transition:border-color .2s;min-width:0}.chat-input:focus{border-color:#ffd70080}.chat-input:disabled{opacity:.5;cursor:not-allowed}.chat-send-btn{padding:8px 14px;background:linear-gradient(135deg,#ffd70040,#ffa5002e);border:1px solid rgba(255,215,0,.5);border-radius:8px;color:gold;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;flex-shrink:0;white-space:nowrap}.chat-send-btn:hover:not(:disabled){background:linear-gradient(135deg,#ffd70066,#ffa5004d);transform:translateY(-1px)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}@media screen and (max-width: 1024px){.chat-root{right:12px;bottom:12px}}@media screen and (max-width: 640px){.chat-root{right:8px;bottom:8px}.chat-panel-mobile{width:calc(100vw - 16px);height:60vh;max-height:480px;min-height:320px;border-radius:14px}}.radar-view{width:100%;height:100%;display:flex;flex-direction:column;background:linear-gradient(135deg,#05080a,#0b2029)}.update-banner{position:fixed;top:0;left:0;right:0;z-index:2200;display:flex;align-items:center;gap:10px;padding:10px 44px 10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px));font-size:13px;line-height:1.5;box-shadow:0 2px 12px #00000059}.update-banner--warning{background:linear-gradient(135deg,#ffb020,#ff8a00);color:#241500;border-bottom:1px solid rgba(255,255,255,.25)}.update-banner--info{background:linear-gradient(135deg,#2bbcff,#00e0c7);color:#fff;border-bottom:1px solid rgba(255,255,255,.2)}.update-banner-icon{font-size:18px;flex-shrink:0}.update-banner-body{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}.update-banner-title{font-weight:700}.update-banner-text{font-weight:500}.update-banner-close{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:24px;height:24px;border:none;border-radius:50%;background:#00000026;color:inherit;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.update-banner-close:hover{background:#00000047}.update-banner-fade-enter-active,.update-banner-fade-leave-active{transition:transform .3s ease,opacity .3s ease}.update-banner-fade-enter-from,.update-banner-fade-leave-to{transform:translateY(-100%);opacity:0}@media (max-width: 1024px){.update-banner{font-size:12px;padding:8px 40px 8px 12px;padding-top:calc(8px + env(safe-area-inset-top,0px))}}.top-bar{height:56px;position:relative;z-index:2100;background:linear-gradient(180deg,#071117f2,#08141ae6);border-bottom:1px solid rgba(43,188,255,.2);padding:0 20px;display:flex;align-items:center;justify-content:space-between;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 4px 20px #0000004d}.brand{display:flex;align-items:center;gap:10px}.brand-icon{font-size:22px;animation:pulse-2585f0dc 2s ease-in-out infinite}.brand-text{font-size:18px;font-weight:700;background:linear-gradient(135deg,#2bbcff,#00e0c7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:1px}.status-info{display:flex;align-items:center;gap:12px}.status-card{display:flex;align-items:center;gap:8px;padding:6px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:20px;font-size:13px;transition:all .3s}.status-card:hover{background:#ffffff14;border-color:#ffffff26}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.online{background:#4cd964;box-shadow:0 0 10px #4cd964b3;animation:pulse-2585f0dc 2s ease-in-out infinite}.status-dot.offline{background:#ff3b30;box-shadow:0 0 10px #ff3b30b3}.status-text{color:#ffffffe6;font-weight:500}.status-icon{font-size:14px}.status-value{color:#ffffffe6;font-weight:500}.status-value.good{color:#4cd964}.status-value.warning{color:#fc0}.actions{display:flex;gap:10px}.action-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s}.action-btn .btn-icon{font-size:14px}.action-btn.success-btn{background:#4cd96426;color:#4cd964;border:1px solid rgba(76,217,100,.3)}.action-btn.primary-btn{background:#2bbcff26;color:#2bbcff;border:1px solid rgba(43,188,255,.3)}.action-btn.danger-btn{background:#ff3b3026;color:#ff6b6b;border:1px solid rgba(255,59,48,.3)}@media screen and (min-width: 1024px){.action-btn.success-btn:hover{background:#4cd96440;transform:translateY(-1px);box-shadow:0 4px 12px #4cd96433}.action-btn.primary-btn:hover{background:#2bbcff40;transform:translateY(-1px);box-shadow:0 4px 12px #2bbcff33}.action-btn.danger-btn:hover{background:#ff3b3040;transform:translateY(-1px);box-shadow:0 4px 12px #ff3b3033}}.main-content{flex:1;display:flex;overflow:hidden}.left-panel{width:320px;display:none;flex-direction:column;background:linear-gradient(180deg,#08141af2,#050c11fa);border-right:1px solid rgba(43,188,255,.15);overflow:hidden;box-shadow:4px 0 20px #0003}.left-panel.panel-visible{display:flex}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#2bbcff1a;border-bottom:1px solid rgba(43,188,255,.2)}.panel-title{font-size:16px;font-weight:600;color:#2bbcff}.close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffb3;font-size:18px;cursor:pointer;transition:all .3s}.close-btn:hover{background:#ff3b3033;border-color:#ff3b3066;color:#ff6b6b}.pc-only{display:flex}.mobile-only{display:none!important}.mobile-back-btn{position:fixed;top:calc(env(safe-area-inset-top,0px) + 32px);left:calc(env(safe-area-inset-left,0px) + 16px);z-index:901;width:38px;height:38px;padding:0;display:flex;align-items:center;justify-content:center;background:#3c3c435c;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:.5px solid rgba(255,255,255,.18);border-radius:50%;color:#fffffff2;cursor:pointer;transition:transform .15s ease,background .15s ease;-webkit-tap-highlight-color:transparent}.mobile-back-btn:active{transform:scale(.92);background:#3c3c438c}.mobile-back-btn svg{width:18px;height:18px;margin-right:2px;display:block}.mobile-status-bar{position:fixed;top:32px;left:50%;transform:translate(-50%);z-index:900;display:flex;align-items:center;gap:12px;padding:12px 20px;background:#3c3c435c;backdrop-filter:saturate(180%) blur(40px);-webkit-backdrop-filter:saturate(180%) blur(40px);border:.5px solid rgba(255,255,255,.18);border-radius:22px;box-shadow:0 2px 16px #00000026,inset 0 .5px #ffffff1f}.mobile-status-content{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;letter-spacing:-.2px}.status-dot-mini{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot-mini.online{background:#30d158;box-shadow:0 0 10px #30d15899}.status-dot-mini.offline{background:#ff453a;box-shadow:0 0 10px #ff453a99}.mobile-status-content .ping-value{color:#30d158;font-weight:600;font-variant-numeric:tabular-nums}.mobile-status-content .ping-value.warning{color:#ffd60a}.mobile-status-content .enemy-count{color:#ff453a;font-weight:700;background:#ff453a2e;padding:4px 10px;border-radius:12px;font-variant-numeric:tabular-nums}.mobile-status-content .label{color:#ffffff8c;font-size:12px;font-weight:400;white-space:nowrap}.mobile-status-content .divider{color:#fff3;font-weight:300;margin:0 2px}.mobile-actions{display:flex;align-items:center;gap:6px;margin-left:8px;padding-left:12px;border-left:.5px solid rgba(255,255,255,.18)}.mobile-action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:10px;font-size:18px;cursor:pointer;transition:all .15s ease}.mobile-action-btn:active{background:#fff3;transform:scale(.92)}.map-container{flex:1;position:relative;overflow:hidden;background:#000}.right-panel{width:340px;background:linear-gradient(180deg,#08141af2,#050c11fa);border-left:1px solid rgba(43,188,255,.15);overflow-y:auto;box-shadow:-4px 0 20px #0003;position:absolute;right:0;top:56px;height:calc(100% - 56px);z-index:1000}@keyframes pulse-2585f0dc{0%,to{opacity:1}50%{opacity:.6}}.panel-backdrop{display:none}@media screen and (max-width: 1024px){.panel-backdrop{display:block;position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:1500;cursor:pointer}.mobile-only{display:flex!important}.pc-only{display:none!important}.left-panel{display:flex;position:absolute;left:0;top:0;height:100%;z-index:2000;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 30px #00000080}.left-panel.panel-visible{transform:translate(0)}.map-container{width:100%}.main-content{height:100%}.right-panel{width:90%;max-width:380px;top:0;height:100%;z-index:2000}}@media screen and (max-width: 640px){.left-panel,.right-panel{width:85%;max-width:320px}.mobile-status-bar{padding:10px 16px;gap:10px;border-radius:18px;top:24px}.mobile-back-btn{top:calc(env(safe-area-inset-top,0px) + 24px);left:calc(env(safe-area-inset-left,0px) + 12px);width:34px;height:34px}.mobile-back-btn svg{width:16px;height:16px}.mobile-status-content{gap:6px;font-size:13px}.mobile-status-content .label{font-size:11px}.mobile-status-content .enemy-count{padding:3px 8px;border-radius:10px}.mobile-actions{gap:4px;padding-left:10px}.mobile-action-btn{width:32px;height:32px;font-size:16px;border-radius:8px}}.share-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:5000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.share-dialog{width:480px;max-width:92%;background:linear-gradient(135deg,#071117fa,#0b1920fa);border:1px solid rgba(43,188,255,.3);border-radius:16px;box-shadow:0 12px 40px #00000080;overflow:hidden}.share-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#2bbcff14;border-bottom:1px solid rgba(43,188,255,.15)}.share-dialog-title{font-size:16px;font-weight:600;color:#fffffff2}.share-dialog-body{padding:20px}.share-url-row{display:flex;gap:8px;margin-bottom:20px}.share-url-input{flex:1;padding:10px 14px;background:#0000004d;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#ffffffe6;font-size:13px;font-family:monospace;outline:none;transition:border-color .3s}.share-url-input:focus{border-color:#2bbcff80}.share-copy-btn{padding:10px 20px;background:#2bbcff33;border:1px solid rgba(43,188,255,.4);border-radius:8px;color:#2bbcff;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s;white-space:nowrap}.share-copy-btn:hover{background:#2bbcff59;transform:translateY(-1px)}.share-expiry-section{padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}.share-expiry-label{display:block;font-size:13px;font-weight:500;color:#ffffffb3;margin-bottom:10px}.share-expiry-options{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.expiry-option-btn{padding:6px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:16px;color:#ffffffb3;font-size:12px;cursor:pointer;transition:all .3s}.expiry-option-btn:hover{background:#ffffff14;border-color:#fff3}.expiry-option-btn.active{background:#2bbcff33;border-color:#2bbcff;color:#2bbcff;font-weight:500}.share-expiry-hint{font-size:12px;color:#fff6}.xxx-prompt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:6000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:16px}.xxx-prompt{width:420px;max-width:100%;background:linear-gradient(135deg,#071117fa,#0b1920fa);border:1px solid rgba(43,188,255,.35);border-radius:16px;box-shadow:0 12px 40px #0000008c;overflow:hidden}.xxx-prompt-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#ffd7001f,#2bbcff1f);border-bottom:1px solid rgba(43,188,255,.18)}.xxx-prompt-title{font-size:16px;font-weight:700;color:#fffffff2}.xxx-prompt-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ffffffb3;font-size:14px;cursor:pointer;transition:all .2s}.xxx-prompt-close:hover{background:#ff3b3033;border-color:#ff3b3066;color:#ff6b6b}.xxx-prompt-body{padding:20px}.xxx-prompt-highlight{margin:0 0 12px;font-size:15px;font-weight:600;line-height:1.5;background:linear-gradient(135deg,gold,orange);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.xxx-prompt-question{margin:0 0 14px;font-size:14px;font-weight:600;color:#ffffffeb}.xxx-prompt-desc{display:flex;flex-direction:column;gap:8px;padding:14px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:10px}.xxx-prompt-desc p{margin:0;font-size:13px;color:#fffc;line-height:1.6}.xxx-prompt-hint{margin-top:2px!important;font-size:12px!important;color:#ffffff80!important}.xxx-prompt-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px 18px;border-top:1px solid rgba(255,255,255,.06)}.xxx-prompt-noremind{display:flex;align-items:center;gap:6px;font-size:12px;color:#ffffff8c;cursor:pointer;-webkit-user-select:none;user-select:none}.xxx-prompt-noremind input[type=checkbox]{cursor:pointer;accent-color:#2bbcff;width:14px;height:14px}.xxx-prompt-actions{display:flex;gap:10px}.xxx-prompt-btn{padding:9px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.xxx-prompt-btn.ignore{background:#ffffff0d;border:1px solid rgba(255,255,255,.15);color:#ffffffb3}.xxx-prompt-btn.ignore:hover{background:#ffffff1a;color:#fff}.xxx-prompt-btn.confirm{background:linear-gradient(135deg,#2bbcffe6,#00e0c7e6);border:1px solid rgba(43,188,255,.6);color:#fff}.xxx-prompt-btn.confirm:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2bbcff59}@media screen and (max-width: 640px){.xxx-prompt-footer{flex-direction:column;align-items:stretch}.xxx-prompt-actions{justify-content:flex-end}}
