@import url(https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&display=swap);.replay-topbar-link,.replay-topbar-link:hover{text-decoration:none}.replay-left,.replay-topbar{background:var(--primary-dark)}.fight-inline-metric-icon,.fight-inline-stat-icon,.fight-inline-stat-icon.shield-icon,.fight-th-game-icon{filter:brightness(0) invert(1)}.deadPlayerMarker,.downedPlayerMarker,.playerLocIcon{text-shadow:0 0 6px rgba(0,0,0,.8)}.cp-item-name,.hud-player-legend,.hud-player-name,.map-player-weapon span,.map-poi-name,.map-poi-timeline-row .poi,.pd-name{white-space:nowrap;text-overflow:ellipsis}.cp-time,.fight-event-time,.fight-legend-title,.hud-player-vals,.hud-team-stats,.map-player-values,.pd-evo-time,.pd-stat-val,.pd-upgrade-time,.pd-weapon-nums,.replay-event-time,.replay-time-display,.timeline-tooltip-time{font-variant-numeric:tabular-nums}:root{--bg2-color:#111115!important;--text2-color:#fff;--primary-color:#932929;--secondary-color:#23242c;--tertiary-color:#2a2b35;--border-color:rgba(255, 255, 255, 0.1);--text-muted:rgba(255, 255, 255, 0.6);--text-semi:rgba(255, 255, 255, 0.8);--icon-muted:rgba(255, 255, 255, 0.4);--hover-bg:rgba(255, 255, 255, 0.1);--sidebar-width:230px;--bg-color:#111115;--primary-dark:#111115;--primary:#111115;--secondary:#2a2b35;--graph-bg:#111115;--text-color:#fff;--title-color:#fff;--border-light:rgba(255, 255, 255, 0.1);--dgs-red:#932929;--green:#357b35}*,::after,::before{box-sizing:border-box;margin:0;padding:0}.team-logo{width:16px;height:16px;object-fit:contain;vertical-align:middle;flex-shrink:0}.fight-inline-icon,.fight-inline-metric-icon,.story-inline-game-icon{vertical-align:-2px;object-fit:contain}.team-logo.logo-sm{width:12px;height:12px}.team-logo.logo-lg{width:20px;height:20px}body{font-family:Roboto,sans-serif;font-weight:300;background:var(--bg2-color);color:var(--text-color);overflow:hidden;height:100vh}.replay-topbar{border-bottom:1px solid var(--border-color);padding:8px 16px;display:flex;align-items:center;gap:16px;height:48px;z-index:100}.replay-filter-bar,.replay-pane-header{border-bottom:1px solid var(--border-light)}.replay-topbar-title{color:var(--title-color);font-weight:700;font-size:.95rem;white-space:nowrap}.replay-topbar-link{display:inline-flex;align-items:center;gap:6px;font-size:.65rem;white-space:nowrap;line-height:1}.replay-topbar-meta{color:var(--text-muted);font-size:.75rem;display:flex;gap:16px;align-items:center}.replay-topbar-meta span{white-space:nowrap}.replay-topbar-winner{margin-left:auto;display:flex;align-items:center;gap:8px;color:#10b981;font-size:.8rem;font-weight:500}.replay-pane-header,.replay-section-title{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:500}.fight-action-icon i,.replay-topbar-winner i{font-size:.7rem}.replay-main{display:grid;grid-template-columns:minmax(240px,18%) minmax(760px,1fr) minmax(280px,20%);height:calc(100vh - 48px);overflow:hidden}.replay-pane{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--secondary) transparent}.replay-pane::-webkit-scrollbar{width:6px}.replay-pane::-webkit-scrollbar-track{background:0 0}.replay-pane::-webkit-scrollbar-thumb{background:var(--secondary);border-radius:3px}.replay-left{border-right:1px solid var(--border-color)}#map-container,#map-container .leaflet-container,.replay-center{background:var(--bg2-color)}.replay-center{display:flex;flex-direction:column;overflow:hidden;position:relative}.replay-right{background:var(--primary-dark);border-left:1px solid var(--border-color)}.replay-pane-header{padding:10px 12px;position:sticky;top:0;background:inherit;z-index:10;display:flex;align-items:center;justify-content:space-between}.replay-section-title{padding:8px 12px 4px}.replay-filter-bar{display:flex;gap:6px;padding:6px 12px;flex-wrap:wrap}.replay-filter-btn{background:var(--secondary-color);border:1px solid var(--border-light);color:var(--text-muted);font-size:.65rem;padding:2px 8px;border-radius:3px;cursor:pointer;transition:.2s;font-family:inherit}.replay-filter-btn.active{background:var(--dgs-red);color:#fff;border-color:var(--dgs-red)}.replay-event-row,.replay-phase-header{border-bottom:1px solid var(--border-light);display:flex;gap:8px}.replay-filter-btn:hover,.replay-playback-btn:hover{background:var(--tertiary-color);color:#fff}.replay-event-row{padding:6px 12px;cursor:pointer;transition:background .15s;align-items:center;font-size:.78rem}.replay-event-row:hover,.replay-fight-header:hover,.replay-player-row:hover{background:rgba(255,255,255,.05)}.replay-event-row.highlighted{background:rgba(255,255,255,.12)}.replay-event-row.story-current-time{outline:rgba(13,169,253,.75) solid 1px;background:rgba(13,169,253,.12)}.replay-event-time{color:var(--text-muted);font-size:.65rem;min-width:40px;padding-top:0;line-height:1.2}.replay-event-dot{width:6px;height:6px;border-radius:50%;margin-top:0;flex-shrink:0}.replay-event-text{color:var(--text-semi);line-height:1.4}.replay-event-text .actor,.replay-event-text .target,.replay-kill-entry .killer{color:#fff;font-weight:500}.cp-item-name.cp-item-level-5,.hud-player-status-tag.eliminated,.item-stat-drop,.itemHeirloom,.map-player-status.eliminated,.replay-event-text .item.item-level-5,.replay-event-text .weapon,.replay-kill-entry .victim{color:var(--dgs-red)}.fight-cluster-tip-row span,.fight-event-text,.inv-rarity-default,.itemCommon,.replay-event-text .switch-weapon{color:var(--text-semi)}.replay-event-text .item{color:#0da9fd}.cp-item-name.cp-item-level-1,.replay-event-text .item.item-level-1{color:#9ca3af}.cp-item-name.cp-item-level-2,.inv-rarity-rare,.replay-event-text .item.item-level-2{color:#60a5fa}.cp-item-name.cp-item-level-3,.inv-rarity-epic,.replay-event-text .item.item-level-3{color:#c084fc}.cp-item-name.cp-item-level-4,.hud-team-placement-live.place-1,.inv-rarity-legendary,.replay-event-text .item.item-level-4{color:#fbbf24}.replay-phase-header,.replay-timeline-label{color:var(--text-muted);text-transform:uppercase}.replay-event-text .damage{color:var(--dgs-red);font-weight:500}.story-inline-game-icon{height:14px;width:auto;max-width:28px;margin-left:5px}.replay-phase-header{background:var(--secondary-color);padding:6px 12px;font-size:.68rem;font-weight:500;letter-spacing:.04em;align-items:center}.replay-phase-header .ring-indicator{width:8px;height:8px;border-radius:50%;background:#3b82f6}#map-container{flex:1;min-height:0;position:relative}.replay-timeline{height:150px;background:var(--primary-dark);border-top:1px solid var(--border-color);position:relative;z-index:1300;padding:4px 12px 34px;cursor:pointer}#tl-global{background:rgba(59,130,246,.08)}.replay-timeline-lane{height:12px;position:relative;margin-bottom:2px}.replay-timeline-label{position:absolute;left:0;font-size:.55rem;width:40px}.replay-timeline-track{position:absolute;left:44px;right:0;height:100%;background:var(--secondary-color);border-radius:2px;overflow:hidden}.timeline-tick{position:absolute;width:3px;height:100%;border-radius:1px}.timeline-region{position:absolute;height:100%;opacity:.4;border-radius:2px}.replay-scrubber{position:absolute;top:0;width:2px;height:calc(100% - 34px);background:#fff;z-index:5;pointer-events:none;left:44px}.replay-scrubber::after{content:'';position:absolute;top:-2px;left:-4px;width:10px;height:10px;background:#fff;border-radius:50%}.hud-player-cell:hover,.replay-team-card.selected,.replay-team-card:hover{background:var(--tertiary-color)}.replay-time-display{position:absolute;bottom:8px;right:12px;font-size:.7rem;color:var(--title-color);font-weight:500;z-index:7}.replay-timeline-tooltip{position:absolute;display:none;min-width:220px;max-width:280px;background:rgba(17,17,21,.95);border:1px solid var(--border-light);border-radius:6px;padding:6px 8px;color:var(--text-semi);font-size:.66rem;line-height:1.35;z-index:20;pointer-events:none}.replay-team-name,.timeline-tooltip-time{color:var(--title-color);font-weight:500}.timeline-tooltip-time{font-size:.68rem;margin-bottom:4px}.timeline-tooltip-row{display:flex;align-items:center;gap:6px;margin:1px 0}.timeline-tooltip-row .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.replay-team-card{background:var(--primary);border-radius:5px;margin:6px 8px;padding:8px 10px;border-left:4px solid #888;cursor:pointer;transition:.2s}.replay-fight-header,.replay-player-row{transition:background .15s;cursor:pointer}.replay-team-card.selected{border-color:var(--dgs-red)}.replay-team-name{font-size:.85rem;margin-bottom:4px;display:flex;align-items:center;justify-content:space-between}.hud-team-placement-live.place-other,.map-poi-player-card>summary .time,.map-poi-timeline-row .time,.pd-char,.replay-compact-fight-teams .stats,.replay-team-placement,.replay-team-stat .label{color:var(--text-muted)}.replay-team-placement{font-size:.65rem;background:var(--secondary-color);padding:1px 6px;border-radius:3px}.replay-team-stats{display:flex;gap:12px;font-size:.7rem}.replay-team-stat{display:flex;gap:3px;align-items:center}.replay-compact-fight-teams .team-name,.replay-team-stat .value{color:var(--title-color);font-weight:500}.fight-inline-metric-icon{width:11px;height:11px}.fight-duration-metric,.fight-event-hp-sp .sp,.fight-legend-actions span,.fight-th-wrap{display:inline-flex;align-items:center;gap:4px}.replay-player-row{display:flex;align-items:center;gap:6px;padding:3px 10px;font-size:.72rem}.replay-player-row.selected{background:rgba(255,255,255,.1)}.replay-player-legend{width:20px;height:20px;border-radius:50%;background:var(--secondary);display:flex;align-items:center;justify-content:center;font-size:.55rem;color:var(--title-color);font-weight:700;flex-shrink:0;border:2px solid #888}.fights-search-wrap,.replay-fight-header,.replay-fight-players th{border-bottom:1px solid var(--border-light)}.replay-player-name{color:var(--title-color);font-weight:400}.replay-player-char{color:var(--text-muted);font-size:.65rem}.replay-player-hp{margin-left:auto;display:flex;gap:2px}.hp-bar{width:40px;height:6px;background:var(--secondary-color);border-radius:2px;overflow:hidden}.hp-bar-fill{height:100%;border-radius:2px}.dot-roster,.hp-bar-fill.health,.map-player-bar.health span,.replay-live-bar.health span{background:#10b981}.dot-ring,.hp-bar-fill.shield,.map-player-bar.shield span,.replay-live-bar.shield span,.replay-live-bar.shield.shield-75 span{background:#3b82f6}.replay-insight-widget{background:var(--primary);border-radius:5px;margin:6px 8px;padding:10px}.insights-panel{display:none}.insights-panel.active,.map-poi-subtab.active,.story-settings-panel.active{display:block}.replay-insight-title{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.replay-kill-feed{font-size:.72rem}.replay-kill-entry{padding:3px 0;display:flex;gap:4px;align-items:center;color:var(--text-semi)}.replay-kill-entry .weapon{color:var(--dgs-red);font-size:.65rem}.fights-search-wrap{padding:8px 10px 6px}.fights-search-input{width:100%;background:var(--graph-bg);color:var(--text-color);border:1px solid var(--border-light);border-radius:4px;font-size:.68rem;padding:5px 8px;font-family:inherit}.replay-fight-card{background:rgba(33,34,43,.78);border-radius:8px;border:1px solid var(--border-light);margin-bottom:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.18)}.replay-fight-header{padding:8px 12px;display:flex;align-items:center;gap:12px}.replay-fight-id{color:var(--title-color);font-weight:700;font-size:.85rem}.replay-fight-status{font-size:.6rem;padding:1px 6px;border-radius:3px;text-transform:uppercase;font-weight:500}.replay-fight-status.concluded{background:rgba(16,185,129,.15);color:#10b981}.replay-fight-status.active{background:rgba(147,41,41,.15);color:var(--dgs-red)}.replay-fight-duration{font-size:.7rem;color:var(--text-muted)}.replay-fight-jump{margin-left:auto;font-size:.65rem;color:var(--dgs-red);cursor:pointer;background:0 0;border:none;font-family:inherit}.replay-fight-team-name,.replay-stats-table th:hover{color:var(--title-color)}.replay-fight-teams{display:grid;grid-template-columns:1fr auto 1fr;padding:8px 12px;gap:8px;align-items:center}.replay-fight-team{padding:6px;border-radius:4px}.replay-fight-team.winner{background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3)}.replay-fight-team-name{font-size:.8rem;font-weight:500;margin-bottom:4px}.replay-fight-team-stats{display:flex;gap:10px;font-size:.68rem}.replay-fight-vs{color:var(--text-muted);font-size:.7rem;font-weight:700}.replay-fight-events{max-height:150px;overflow-y:auto;scrollbar-width:thin;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}.fight-event-row{padding:4px 12px;font-size:.7rem;display:flex;gap:8px;align-items:center}.fight-event-kill{background:rgba(147,41,41,.12)}.fight-event-knockdown{background:rgba(249,115,22,.12)}.fight-event-healing{background:rgba(34,197,94,.12)}.fight-event-revive{background:rgba(59,130,246,.12)}.fight-event-damage{background:rgba(255,255,255,.03)}.replay-fight-details-summary,.replay-fight-players tr:nth-child(odd) td{background:rgba(255,255,255,.02)}.fight-event-time{font-size:.6rem;color:var(--text-muted);min-width:32px}.fight-event-hp-sp{display:inline-flex;align-items:center;gap:7px;margin-left:6px;font-size:.62rem;color:var(--text-muted)}.fight-inline-stat-icon{width:12px;height:12px;object-fit:contain;flex-shrink:0}.fight-inline-icon{height:13px;width:auto;max-width:26px;margin:0 3px 0 2px}.replay-fight-details{border-top:1px solid rgba(255,255,255,.06)}.replay-fight-details-summary{list-style:none;cursor:pointer;user-select:none;font-size:.67rem;color:var(--text-semi);padding:7px 12px;display:flex;align-items:center;gap:6px}.replay-fight-details-summary::-webkit-details-marker{display:none}.replay-fight-details[open] .replay-fight-details-summary i{transform:rotate(90deg)}.replay-fight-details-content{padding:6px 0 8px}.replay-fight-table-block{margin:0 0 6px}.replay-fight-table-title{padding:0 12px 4px;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);display:flex;align-items:center;gap:5px}.replay-fight-table-title i{color:var(--icon-muted);font-size:.56rem}.replay-fight-players{padding:8px 12px}.replay-fight-players table{width:100%;border-collapse:collapse;font-size:.7rem}.fight-th-short,.fight-th-wrap i{font-size:.62rem}.replay-fight-players th{text-align:left;color:var(--text-muted);font-weight:500;font-size:.62rem;text-transform:uppercase;padding:3px 6px;white-space:nowrap}.fight-th-wrap i{color:var(--icon-muted)}.fight-th-game-icon{width:13px;height:13px;object-fit:contain;flex-shrink:0}.replay-fight-players td{padding:3px 6px;color:var(--text-semi)}.replay-stats-table{width:100%;border-collapse:collapse;font-size:.75rem}.replay-stats-table th{text-align:left;color:var(--text-muted);font-weight:500;font-size:.65rem;text-transform:uppercase;padding:4px 8px;border-bottom:1px solid var(--border-color);cursor:pointer;user-select:none}.replay-stats-table td{padding:4px 8px;color:var(--text-semi)}.replay-stats-table tr:nth-child(odd) td{background:#282833}.replay-stats-table .table-max{color:#0e8d48;font-weight:700}.replay-stats-table .table-min{color:#fd2436}.replay-compact-fight{background:rgba(30,30,40,.6);border-radius:5px;border:1px solid var(--border-light);margin:4px 12px;padding:6px 10px;cursor:pointer;transition:.2s}.replay-fight-timeline-row{border-left:2px solid rgba(147,41,41,.65)}.replay-fight-timeline-row.start .replay-event-text{color:#fca5a5}.replay-fight-timeline-row.end .replay-event-text{color:#fecaca}.replay-compact-fight:hover{background:rgba(30,30,40,.9);border-color:var(--dgs-red)}.replay-compact-fight-header{display:flex;align-items:center;gap:8px;font-size:.72rem;margin-bottom:4px}.replay-compact-fight-teams{display:flex;align-items:center;gap:6px;font-size:.68rem}.replay-compact-fight-teams .vs{color:var(--text-muted);font-weight:700;margin:0 4px}.loading-spinner{display:flex;justify-content:center;align-items:center;padding:40px;color:var(--text-muted);font-size:.8rem}@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}.loading-spinner::before{content:'';width:16px;height:16px;border:2px solid var(--dgs-red);border-top-color:transparent;border-radius:50%;animation:.8s linear infinite spin;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}.initial-loading-screen{position:fixed;inset:0;z-index:4000;background:rgba(8,10,15,.96);display:flex;align-items:center;justify-content:center}.initial-error-screen.hidden,.initial-loading-screen.hidden,.map-poi-subtab{display:none}.initial-loading-card{min-width:320px;max-width:520px;border:1px solid var(--border-light);border-radius:12px;background:rgba(17,17,21,.94);padding:18px 20px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"spinner title" "spinner text";gap:4px 12px}.initial-loading-spinner{grid-area:spinner;width:16px;height:16px;border:2px solid #2d2d3f;border-top-color:var(--dgs-red);border-radius:50%;animation:1s linear infinite spin;margin-top:2px}.initial-loading-title{grid-area:title;color:var(--title-color);font-size:.76rem;font-weight:600}.initial-loading-text{grid-area:text;color:var(--text-semi);font-size:.66rem}.initial-error-screen{position:fixed;inset:0;z-index:4100;background:rgba(8,10,15,.97);display:flex;align-items:center;justify-content:center}.fight-map-legend,.replay-map-controls{position:absolute;color:var(--text-semi)}.initial-error-card{min-width:340px;max-width:640px;border:1px solid var(--border-light);border-radius:12px;background:rgba(17,17,21,.96);padding:20px 22px;text-align:center}.initial-error-icon{color:var(--dgs-red);font-size:1.2rem;margin-bottom:8px}.initial-error-title{color:var(--title-color);font-size:.9rem;font-weight:700;margin-bottom:6px}.initial-error-text{color:var(--text-semi);font-size:.7rem}.dot-combat,.map-player-bar.shield.shield-125 span,.replay-live-bar.shield.shield-125 span{background:var(--dgs-red)}.dot-economy{background:#0da9fd}.dot-ability,.map-player-bar.shield.shield-100 span,.replay-live-bar.shield.shield-100 span{background:#a855f7}.dot-mobility{background:#f97316}.dot-other{background:#6b7280}.bright{filter:brightness(1.3)}.playerLocIcon{font-size:1rem}.downedPlayerMarker{font-size:.95rem}.deadPlayerMarker{font-size:.9rem}.playerLocTooltip{background:rgba(17,17,21,.9);border:1px solid rgba(255,255,255,.18);border-radius:3px;color:#fff;font-size:.62rem;font-weight:500;padding:2px 6px;box-shadow:none}.playerLocTooltip .map-player-name{color:#fff;font-size:.62rem;font-weight:600;line-height:1.2}.playerLocTooltip .map-player-header-row{display:flex;align-items:center;gap:5px;margin-top:3px;min-width:0}.map-player-legend{width:14px;height:14px;border-radius:50%;object-fit:cover;object-position:top;border:1px solid rgba(255,255,255,.38);flex-shrink:0;filter:brightness(1.14) contrast(1.08)}.map-player-weapon{display:inline-flex;align-items:center;justify-content:center;color:var(--dgs-red);font-size:.52rem;min-width:16px;flex-shrink:0}.map-player-weapon span{overflow:hidden}.map-player-weapon-icon{width:16px;height:12px;object-fit:contain;flex-shrink:0;filter:brightness(1.12) contrast(1.14) drop-shadow(0 0 2px rgba(0, 0, 0, .45))}.map-player-weapon-icon.white-icon{filter:brightness(0) invert(1) contrast(1.18) drop-shadow(0 0 2px rgba(0, 0, 0, .5));opacity:1}.map-player-weapon i{color:var(--text-muted);font-size:.5rem;flex-shrink:0}.map-player-bars{margin-left:auto;min-width:52px}.map-player-bar,.replay-live-bar{height:4px;border-radius:2px;background:var(--secondary-color);overflow:hidden}.map-player-bar+.map-player-bar{margin-top:1px}.map-player-bar span,.replay-live-bar span{display:block;height:100%}.map-player-values{margin-top:1px;font-size:.56rem;font-weight:500;color:rgba(255,255,255,.9);text-align:right}.map-player-status{margin-left:auto;font-size:.48rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.hud-player-status-tag.downed,.map-player-status.downed{color:#f97316}.playerLocTooltip:before{border-top-color:rgba(255,255,255,.18)}.playerLocTooltip.team1{border-color:#ff5733}.playerLocTooltip.team2{border-color:#33ff57}.playerLocTooltip.team3{border-color:#3357ff}.playerLocTooltip.team4{border-color:#ff33a1}.playerLocTooltip.team5{border-color:#a133ff}.playerLocTooltip.team6{border-color:#33fff5}.playerLocTooltip.team7{border-color:#ffd433}.playerLocTooltip.team8{border-color:#ff8633}.playerLocTooltip.team9{border-color:#3f9}.playerLocTooltip.team10{border-color:#93f}.playerLocTooltip.team11{border-color:#f33}.playerLocTooltip.team12{border-color:#3cf}.playerLocTooltip.team13{border-color:#cf3}.playerLocTooltip.team14{border-color:#f3c}.playerLocTooltip.team15{border-color:#3fc}.playerLocTooltip.team16{border-color:#c3f}.playerLocTooltip.team17{border-color:#fc3}.playerLocTooltip.team18{border-color:#39f}.playerLocTooltip.team19{border-color:#f63}.playerLocTooltip.team20{border-color:#6f3}.playerLocTooltip.team21{border-color:#63f}.replay-map-controls{top:8px;left:8px;z-index:1200;display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 10px;border-radius:6px;border:1px solid var(--border-light);background:rgba(17,17,21,.86);backdrop-filter:blur(2px);font-size:.62rem}.fight-map-legend{right:10px;top:10px;z-index:1250;background:rgba(17,17,21,.92);border:1px solid var(--border-light);border-radius:6px;padding:8px 10px;min-width:260px;max-width:360px;font-size:.66rem}.fight-legend-title{color:var(--title-color);font-size:.68rem;font-weight:500;margin-bottom:6px}.fight-legend-teams{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.fight-legend-team,.item-insight-row .main{display:inline-flex;align-items:center;gap:5px}.fight-legend-player .swatch,.fight-legend-team .swatch{width:9px;height:9px;border-radius:50%}.fight-legend-actions{display:flex;flex-wrap:wrap;gap:7px 10px}.fight-legend-inline-icon{width:11px;height:11px;object-fit:contain;flex-shrink:0;filter:brightness(0) invert(1)}.fight-legend-players{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:8px;max-height:96px;overflow:auto;padding-top:6px;border-top:1px solid rgba(255,255,255,.08)}.fight-legend-player{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.cp-divicon,.fight-action-divicon,.poi-item-marker-wrap,.respawn-beacon-divicon{background:0 0;border:0}.fight-action-icon{width:22px;height:22px;border:2px solid #fff;border-radius:50%;background:rgba(17,17,21,.9);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 0 8px rgba(0,0,0,.55)}.fight-action-type-icon,.pf-toggle-icon{width:11px;height:11px;object-fit:contain;filter:brightness(0) invert(1)}.fight-action-index{position:absolute;right:-7px;top:-7px;min-width:13px;height:13px;border-radius:8px;background:#111;border:1px solid rgba(255,255,255,.45);color:#fff;font-size:.52rem;line-height:12px;text-align:center;padding:0 2px}.fight-action-cluster{width:max-content;min-width:0;min-height:24px;border-radius:12px;border:1px solid rgba(255,255,255,.55);background:rgba(17,17,21,.95);display:flex;align-items:center;justify-content:center;gap:3px;padding:2px 10px 2px 5px;position:relative;box-shadow:0 0 10px rgba(0,0,0,.6)}.fight-action-cluster i{font-size:.58rem}.fight-action-cluster-count{position:absolute;right:-6px;top:-6px;min-width:14px;height:14px;border-radius:8px;background:#111;border:1px solid rgba(255,255,255,.45);color:#fff;font-size:.55rem;line-height:12px;text-align:center;padding:0 2px}.fight-cluster-tooltip{min-width:260px;max-width:380px}.leaflet-tooltip.fight-cluster-tip{background:rgba(17,17,21,.97);border:1px solid var(--border-light);color:var(--text-semi);box-shadow:0 0 12px rgba(0,0,0,.55)}.leaflet-tooltip.fight-cluster-tip:before{border-top-color:rgba(17,17,21,.97)}.fight-cluster-tip-title{color:var(--title-color);font-size:.68rem;margin-bottom:4px}.fight-cluster-tip-row{display:flex;align-items:center;gap:6px;font-size:.64rem;margin:2px 0;color:var(--text-semi)}.fight-cluster-tip-row i{width:10px}.fight-cluster-tip-icon,.pd-inline-icon{width:10px;height:10px;object-fit:contain;filter:brightness(0) invert(1)}.cp-marker{display:flex;flex-direction:column;align-items:center;gap:2px;transform:translateY(-3px)}.cp-icon-img{width:22px;height:22px;object-fit:contain;filter:invert(52%) sepia(62%) saturate(1328%) hue-rotate(2deg) brightness(97%) contrast(97%) drop-shadow(0 0 6px rgba(0, 0, 0, .5));opacity:.95}.cp-time{font-size:.58rem;line-height:1;color:#ffd19e;background:rgba(17,17,21,.85);border:1px solid rgba(255,209,158,.35);border-radius:8px;padding:2px 5px;pointer-events:none}.cp-tooltip{min-width:220px;max-width:320px}.cp-tip-title{color:var(--title-color);font-size:.7rem;margin-bottom:6px;font-weight:600}.cp-tip-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.63rem;color:var(--text-semi);margin:2px 0}.cp-item-main{display:inline-flex;align-items:center;gap:6px;min-width:0}.cp-item-name{overflow:hidden}.cp-item-icon{width:14px;height:14px;object-fit:contain;flex-shrink:0}.cp-item-level{font-size:.56rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0}.cp-tip-time{margin-top:7px;padding-top:5px;border-top:1px solid rgba(255,255,255,.08)}.cp-tip-opened{margin-top:4px;font-size:.6rem;color:var(--text-muted)}.respawn-beacon-marker{width:24px;height:24px;position:relative;display:grid;place-items:center}.respawn-beacon-icon{width:24px;height:24px;object-fit:contain;filter:drop-shadow(0 0 6px rgba(0, 0, 0, .6))}.inventory-inline-icon,.metric-inline-icon{vertical-align:-2px;filter:brightness(0) invert(1)}.respawn-beacon-marker.mobile .respawn-beacon-icon{width:23px;height:23px}.respawn-beacon-marker.is-used .respawn-beacon-icon{filter:grayscale(1) brightness(.7) drop-shadow(0 0 5px rgba(0, 0, 0, .55))}.respawn-beacon-marker.is-used::after{content:'';position:absolute;inset:1px;border-radius:999px;background:rgba(107,114,128,.4);pointer-events:none}.poi-name-divicon{background:0 0;border:0;width:max-content!important;height:auto!important;transform:translate(-50%,-50%)}.map-poi-name{font-size:.62rem;line-height:1.05;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 6px rgba(0,0,0,.8);background:rgba(10,10,12,.46);border:1px solid rgba(255,255,255,.35);border-radius:10px;padding:3px 7px 4px;width:max-content;max-width:220px;overflow:hidden;transform:translateX(-50%);pointer-events:none}.map-poi-title{font-weight:700;color:#fff;text-align:center}.map-poi-team{margin-top:3px;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:.56rem;font-weight:700;width:100%}.inv-rarity-common,.map-poi-team.unassigned{color:#d1d5db}.map-poi-subtabs{margin:8px 0 6px}.item-insight-sort-row,.map-poi-focus-row,.map-poi-help,.map-poi-inventory-wrap,.pd-inv-cat{margin-bottom:8px}.map-poi-help{font-size:.64rem;color:var(--text-muted)}.item-insight-card,.map-poi-player-card,.map-poi-points-card{border:1px solid var(--border-light);border-radius:8px;background:rgba(20,20,24,.6);margin-bottom:8px;overflow:hidden}.map-poi-player-card>summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:8px 10px;font-size:.64rem}.map-poi-player-card>summary::-webkit-details-marker{display:none}.map-poi-player-card>summary .name,.map-poi-points-card>summary .poi,.map-poi-points-player-main .name{font-weight:700;color:var(--text-color)}.map-poi-player-card>summary .team,.map-poi-points-card>summary .owner{font-weight:700;display:inline-flex;align-items:center;gap:4px}.map-poi-player-body{border-top:1px solid var(--border-light);padding:8px 10px}.map-poi-focus-row{display:flex;flex-wrap:wrap;gap:6px}.map-poi-focus-btn{font-size:.58rem;padding:3px 7px}.map-poi-inner-dropdown>summary{cursor:pointer;font-size:.62rem;color:var(--text-semi)}.map-poi-timeline{margin-top:6px;display:grid;gap:5px}.map-poi-timeline-row{display:grid;grid-template-columns:42px 64px 1fr 100px;align-items:center;gap:6px;font-size:.6rem;padding:4px 6px;border:1px solid rgba(255,255,255,.08);border-radius:6px}.map-poi-timeline-row.picked{border-color:rgba(34,197,94,.45)}.map-poi-timeline-row.dropped{border-color:rgba(147,41,41,.45)}.item-stat,.map-poi-timeline-row .action{font-weight:700}.map-poi-timeline-row .item{display:inline-flex;align-items:center;gap:4px;min-width:0}.map-poi-timeline-row .poi{color:var(--text-muted);overflow:hidden}.map-poi-timeline-icon,.poi-item-marker-icon{width:14px;height:14px;object-fit:contain}.map-poi-empty{font-size:.6rem;color:var(--text-muted)}.map-poi-points-card>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;font-size:.64rem}.map-poi-points-card>summary::-webkit-details-marker{display:none}.map-poi-points-card>summary .poi .rank{color:var(--dgs-red);margin-right:6px}.map-poi-points-card>summary .totals{font-size:.6rem;color:var(--text-semi)}.map-poi-points-body{border-top:1px solid var(--border-light);padding:8px 10px;display:grid;gap:7px}.map-poi-points-player-row{border:1px solid rgba(255,255,255,.09);border-radius:7px;padding:6px 8px}.map-poi-points-player-main{display:flex;align-items:center;gap:6px;font-size:.62rem}.map-poi-points-player-main .team{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-weight:700}.map-poi-points-breakdown{margin-top:5px;display:flex;align-items:center;gap:12px;font-size:.6rem;color:var(--text-semi)}.item-insight-sort-row label{display:inline-flex;align-items:center;gap:6px;font-size:.62rem}.item-insight-sort-row select{background:var(--graph-bg);color:var(--text-color);border:1px solid var(--border-light);border-radius:6px;font-size:.62rem;padding:4px 8px;font-family:inherit}.item-insight-summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;font-size:.63rem}.item-insight-summary::-webkit-details-marker{display:none}.item-insight-summary .item-name{display:inline-flex;align-items:center;gap:6px;color:var(--text-color);font-weight:700}.item-insight-row .stats,.item-insight-summary .item-stats{color:var(--text-semi);display:inline-flex;align-items:center;gap:8px}.item-insight-body{border-top:1px solid var(--border-light);padding:7px 10px}.item-insight-group>summary{cursor:pointer;font-size:.61rem;color:var(--text-semi)}.item-insight-rows{margin-top:5px;display:grid;gap:5px}.item-insight-row{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid rgba(255,255,255,.08);border-radius:6px;padding:5px 7px;font-size:.6rem}.item-insight-row .team{display:inline-flex;align-items:center;gap:4px;color:var(--text-muted)}.item-stat-total{color:#f8fafc}.item-stat-pick{color:#22c55e}.item-stat-use{color:#3b82f6}.poi-item-marker{width:20px;height:20px;border:2px solid #fff;border-radius:5px;background:rgba(10,10,12,.75);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px rgba(0,0,0,.55)}.poi-item-marker.is-highlighted{transform:scale(1.22);box-shadow:0 0 0 1px rgba(0,0,0,.7),0 0 10px rgba(255,255,255,.75)}.insight-fight-card{cursor:pointer}.replay-map-controls label{display:flex;align-items:center;gap:4px}.replay-map-controls input[type=text],.replay-map-controls select,.replay-playback-controls select{background:var(--graph-bg);color:var(--text-color);border:1px solid var(--border-light);border-radius:3px;font-size:.65rem;padding:2px 6px;font-family:inherit}.replay-draw-panel{position:absolute;top:56px;left:8px;z-index:1199;border:1px solid var(--border-light);border-radius:6px;background:rgba(17,17,21,.86);backdrop-filter:blur(2px);color:var(--text-semi);width:fit-content;max-width:calc(100% - 16px)}.replay-draw-panel>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:6px;font-size:.64rem;color:var(--title-color);padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.replay-draw-panel>summary::-webkit-details-marker{display:none}.replay-draw-panel>summary::before{content:'▸';font-size:.66rem;line-height:1;transform:translateY(-1px)}.replay-draw-panel[open]>summary::before{content:'▾'}.replay-draw-panel[open]{width:min(900px,calc(100% - 16px))}.replay-draw-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:6px 10px;font-size:.62rem}.replay-draw-controls label{display:inline-flex;align-items:center;gap:6px}.replay-draw-controls input[type=color]{width:34px;height:24px;border:1px solid var(--border-light);background:0 0;padding:1px}.replay-draw-controls input[type=range]{width:96px}#tl-pathing-range{background:rgba(255,255,255,.04)}.timeline-range-fill{position:absolute;top:0;height:100%;background:rgba(125,211,252,.22);border:1px solid rgba(125,211,252,.6);border-radius:2px}.timeline-range-handle{position:absolute;top:-1px;width:5px;height:calc(100% + 2px);background:#7dd3fc;border-radius:2px;cursor:ew-resize}.timeline-range-handle.end{background:#38bdf8}.replay-playback-controls{position:absolute;bottom:4px;left:12px;display:flex;align-items:center;gap:6px;z-index:7}.replay-playback-btn{background:var(--secondary-color);border:1px solid var(--border-light);color:var(--text-semi);font-size:.62rem;padding:2px 8px;border-radius:3px;cursor:pointer;font-family:inherit}.hud-team-row{margin-bottom:4px;border:1px solid rgba(255,255,255,.06);border-radius:4px;background:rgba(255,255,255,.02);overflow:hidden}.hud-team-header{display:flex;align-items:center;gap:6px;padding:3px 8px;border-left:3px solid;background:rgba(255,255,255,.03);cursor:pointer}.hud-team-header:hover{background:rgba(255,255,255,.06)}.hud-team-name{font-size:.66rem;font-weight:500}.hud-team-placement{font-size:.56rem;color:var(--text-muted);font-weight:500}.hud-team-stats{font-size:.52rem;color:var(--text-muted);display:inline-flex;align-items:center;gap:8px}.hud-stat-chip{display:inline-flex;align-items:center;gap:3px}.metric-inline-icon{width:10px;height:10px;object-fit:contain}.hud-team-alive{margin-left:auto;font-size:.56rem;color:var(--text-muted);flex-shrink:0}.hud-team-placement-live{margin-left:auto;font-size:.56rem;font-weight:600;flex-shrink:0}.hud-team-placement-live.place-2{color:#cbd5e1}.hud-team-placement-live.place-3{color:#d97706}.hud-team-players{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.04)}.hud-player-cell{display:grid;grid-template-columns:28px 1fr;grid-template-rows:auto auto;gap:0 4px;padding:3px 5px;background:var(--secondary-color);cursor:pointer;transition:background .12s}.hud-player-cell.cell-dead{opacity:.45}.hud-player-cell.cell-downed{opacity:.7}.hud-player-icon{grid-row:1/3;display:flex;align-items:center;justify-content:center}.legend-icon{width:26px;height:26px;object-fit:cover;object-position:top;border-radius:50%;border:1px solid var(--border-color);flex-shrink:0}.hud-player-info{grid-column:2;min-width:0}.hud-player-name{font-size:.6rem;font-weight:500;color:var(--text-semi);overflow:hidden}.hud-player-legend{font-size:.5rem;color:var(--text-muted);overflow:hidden}.hud-player-hp{grid-column:2}.hud-player-bars{display:grid;gap:2px;margin-top:1px}.hud-player-vals{font-size:.48rem;color:var(--text-muted);margin-top:1px}.hud-player-status-tag{font-size:.52rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 0;margin-top:1px}.pd-section-title,.pd-stat-lbl{letter-spacing:.05em;text-transform:uppercase}.story-settings-panel{padding:8px 12px;border-bottom:1px solid var(--border-light);display:none}.story-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:4px 12px;font-size:.67rem}.pf-legend .fight-legend-title,.story-settings-grid label{display:flex;align-items:center;gap:6px}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.inventory-card{background:rgba(30,30,40,.8);border:1px solid var(--border-light);border-radius:6px;padding:8px}.pd-header,.pd-stat{border:1px solid rgba(255,255,255,.08)}.inventory-card-title{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:var(--title-color);margin-bottom:6px}.inventory-section-title{font-size:.58rem;text-transform:uppercase;color:var(--text-muted);margin-top:5px}.inventory-item{display:flex;align-items:center;justify-content:space-between;font-size:.66rem;color:var(--text-semi);padding:1px 0}.inventory-inline-icon{width:12px;height:12px;object-fit:contain;margin-right:4px}.pd-loading{padding:24px 18px;font-size:.74rem;color:var(--text-muted);text-align:center}.pd-card{padding:10px;display:grid;gap:10px}.pd-header,.pd-meta{display:flex;align-items:center}.pd-header{gap:12px;padding:10px;border-radius:8px;background:rgba(255,255,255,.03)}.pd-portrait{flex-shrink:0}.pd-legend-icon{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:top;border:2px solid var(--border-color)}.pd-identity{min-width:0}.pd-name{font-size:.9rem;font-weight:600;color:var(--title-color);overflow:hidden}.pd-meta{gap:6px;font-size:.64rem;margin-top:3px}.pd-survival{font-size:.62rem;color:var(--text-muted);margin-top:4px}.pd-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:0 0;border-radius:8px;overflow:hidden}.pd-stat{background:rgba(255,255,255,.03);border-radius:7px;padding:8px 6px;text-align:center}.pd-section,.pd-weapon-row{background:rgba(255,255,255,.02)}.pd-stat-val{font-size:.84rem;font-weight:600;color:var(--title-color)}.pd-evo-time,.pd-section-title,.pd-stat-lbl{color:var(--text-muted)}.pd-stat-lbl{font-size:.5rem;margin-top:2px}.pd-section{border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:9px 10px}.pd-section-title{font-size:.64rem;font-weight:500;margin-bottom:7px;display:flex;align-items:center;gap:6px}.pd-section-title i{font-size:.56rem;color:var(--icon-muted)}.pd-evo-timeline{display:flex;flex-direction:column;gap:5px}.pd-evo-step,.pd-upgrade-row{align-items:center;display:flex}.pd-evo-step{gap:8px;font-size:.64rem;padding:2px 0}.pd-evo-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pd-evo-name{font-weight:500}.pd-evo-time{margin-left:auto;font-size:.56rem}.pd-upgrade-row{justify-content:space-between;padding:4px 0;font-size:.64rem;border-bottom:1px solid rgba(255,255,255,.06)}.pd-inv-weapon,.pd-weapon-name{font-weight:500;align-items:center}.pd-upgrade-row:last-child{border-bottom:none}.pd-upgrade-name{color:var(--text-semi);font-weight:500}.pd-upgrade-time{color:var(--text-muted);font-size:.56rem}.pd-weapon-row{margin-bottom:7px;padding:4px 6px;border-radius:6px}.pd-weapon-row:last-child{margin-bottom:0}.pd-weapon-name{display:flex;gap:6px;font-size:.65rem;color:var(--dgs-red);margin-bottom:3px}.pd-weapon-title{display:inline-block}.pd-weapon-bar-wrap{height:5px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden;margin-bottom:3px}.pd-weapon-bar{height:100%;background:var(--dgs-red);border-radius:2px;min-width:2px}.pd-weapon-nums{display:flex;gap:10px;font-size:.56rem;color:var(--text-muted)}.pd-inv-weapons{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:9px}.pd-inv-weapon{background:rgba(147,41,41,.12);border:1px solid rgba(147,41,41,.2);color:var(--dgs-red);font-size:.64rem;padding:4px 9px;border-radius:5px;display:flex;gap:5px}.pd-inv-cat-label{font-size:.56rem;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:5px;margin-bottom:4px;letter-spacing:.04em}.pd-inv-cat-label i{font-size:.5rem;color:var(--icon-muted)}.pd-inv-items{display:flex;flex-wrap:wrap;gap:5px}.pd-inv-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:5px;padding:3px 7px;font-size:.6rem;color:var(--text-semi);display:inline-flex;align-items:center;gap:5px;line-height:1.1}.pd-inv-qty{color:var(--text-muted);margin-right:3px}.pd-game-icon{height:15px;width:auto;max-width:30px;object-fit:contain;flex-shrink:0}.pd-weapon-icon{width:15px;height:15px}.white-icon{filter:brightness(0) invert(1) opacity(.9)}.itemRare{color:#4ba3ff}.itemEpic{color:#c36bff}.itemLegendary{color:#ffb347}@media (max-width:1400px){.pd-stats-grid{grid-template-columns:repeat(2,1fr)}.pd-weapon-nums{flex-wrap:wrap;gap:6px 10px}}.pf-legend{max-width:320px}.pf-close{margin-left:auto;background:0 0;border:1px solid rgba(255,255,255,.15);color:var(--text-muted);border-radius:4px;cursor:pointer;padding:2px 6px;font-size:.7rem;line-height:1}.pf-close:hover{background:rgba(255,255,255,.1);color:#fff}.pf-toggle.active,.pf-toggle:hover{background:rgba(255,255,255,.08)}.pf-toggles{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.pf-toggle{display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);color:rgba(255,255,255,.35);font-size:.6rem;cursor:pointer;user-select:none;transition:background .15s,color .15s,border-color .15s}.pf-toggle.active{color:var(--text-semi);border-color:rgba(255,255,255,.2)}.pf-toggle i{font-size:.65rem}.pf-toggle-check{width:13px;height:13px;margin:0;accent-color:#22c55e;cursor:pointer;flex-shrink:0}.pf-toggle span{font-size:.6rem}.story-player-inline{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;line-height:1}.story-logo-slot{min-width:14px;width:14px;height:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.story-logo-slot .team-logo.logo-sm{width:12px;height:12px;display:block}