#root,body,html{height:100%;margin:0;overflow:hidden;padding:0;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.app-root{background-color:#020617;color:#f9fafb;display:flex;flex-direction:column;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100vh;margin:0;overflow:hidden;padding:0;width:100vw}.app-header{border-bottom:1px solid #94a3b833;flex-shrink:0;padding:1rem 1.5rem;text-align:left}.app-header h1{font-size:2rem;margin:0 0 .5rem}.app-header p{color:#9ca3af;margin:0}.app-main{flex:1 1;flex-direction:row;gap:1rem}.app-main,.app-main-upload{display:flex;overflow:hidden;padding:1rem}.app-main-upload{align-items:stretch;flex-direction:column;min-height:0}.panel{background:#020817;border:1px solid #94a3b833;border-radius:.75rem;box-shadow:0 20px 40px #00000080;flex-direction:column;padding:1.75rem 1.5rem}.panel,.panel-full{display:flex;overflow:hidden}.panel-full{box-sizing:border-box;flex:1 1;flex-direction:column;width:100%}.panel-title{flex-shrink:0;font-size:1.25rem;margin:0 0 1.25rem}.upload-form{gap:1rem}.file-label,.upload-form{display:flex;flex-direction:column}.file-label{align-items:flex-start;font-weight:500;gap:.5rem}.upload-dropzone{background:#0f172a4d;border:2px dashed #94a3b84d;border-radius:.75rem;box-sizing:border-box;cursor:pointer;flex-shrink:0;margin-bottom:1.5rem;max-width:100%;padding:2rem;transition:all .2s ease;width:100%}.upload-dropzone:hover{background:#0f172a80;border-color:#3b82f6}.upload-dropzone-dragging{background:#0f172ab3!important;border-color:#3b82f6!important;border-width:3px}.upload-dropzone-content{align-items:center;color:#94a3b8;display:flex;flex-direction:column;gap:1rem;text-align:center}.upload-dropzone-content svg{color:#64748b;transition:color .2s ease}.upload-dropzone:hover .upload-dropzone-content svg{color:#3b82f6}.upload-dropzone-content span{font-size:1rem;font-weight:500}.file-label input[type=file],.file-name{font-size:.9rem}.file-name{color:#e5e7eb;margin:0}.download-button,.upload-button{align-self:flex-start;background:linear-gradient(135deg,#6366f1,#0ea5e9);border:none;border-radius:999px;color:#fff;cursor:pointer;font-weight:600;letter-spacing:.02em;padding:.6rem 1.4rem;transition:transform .1s ease,box-shadow .1s ease,opacity .1s ease}.download-button:hover:not(:disabled),.upload-button:hover:not(:disabled){box-shadow:0 10px 20px #2563eb80;transform:translateY(-1px)}.download-button:disabled,.upload-button:disabled{box-shadow:none;cursor:not-allowed;opacity:.6}.download-button{background:linear-gradient(135deg,#10b981,#059669)}.download-button:hover:not(:disabled){box-shadow:0 10px 20px #10b98180}.alert{border-radius:.5rem;font-size:.9rem;margin-top:1.5rem;padding:.9rem 1rem;text-align:left}.alert-success{background:#16a34a1f;border:1px solid #16a34a80;color:#bbf7d0}.alert-error{background:#dc26261f;border:1px solid #dc262680;color:#fecaca}.demo-list{display:flex;flex:1 1;flex-direction:column;gap:12px;max-height:100%;min-height:0;overflow-x:hidden;overflow-y:auto}.demo-list::-webkit-scrollbar{width:8px}.demo-list::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}.demo-list::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.demo-list::-webkit-scrollbar-thumb:hover{background:#555}.demo-item{background:#1f2937;border:2px solid #0000;border-radius:8px;cursor:pointer;padding:16px;transition:all .2s ease}.demo-item:hover{background:#374151;border-color:#3b82f6;box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.demo-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.demo-item-header-right{align-items:center;display:flex;gap:12px}.demo-item-uuid{color:#e5e7eb;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.9rem;font-weight:600}.demo-item-status{border-radius:12px;font-size:.75rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.demo-item-status-ready{background:#16a34a33;border:1px solid #16a34a80;color:#86efac}.demo-item-status-processing{background:#fbbf2433;border:1px solid #fbbf2480;color:#fde047}.demo-item-status-error{background:#dc262633;border:1px solid #dc262680;color:#fca5a5}.demo-item-dates{display:flex;flex-direction:column;gap:6px}.demo-item-date{display:flex;font-size:.85rem;gap:8px}.demo-item-date-label{color:#9ca3af;font-weight:500}.demo-item-date-value{color:#d1d5db}.popup-overlay{align-items:center;background:#000000b3;bottom:0;cursor:pointer;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.popup-content{background:#1f2937;border:1px solid #94a3b833;border-radius:12px;box-shadow:0 20px 40px #00000080;cursor:default;max-width:500px;padding:1.5rem;width:100%}.popup-message{color:#e5e7eb;font-size:1rem;line-height:1.5;margin:0;text-align:center}.demo-item-delete{align-items:center;background:#0000;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s ease}.demo-item-delete:hover{background:#dc26261a;color:#ef4444}.uuid-box{align-items:center;background:#0f172ae6;border:1px solid #94a3b859;border-radius:.5rem;display:inline-flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem;margin-top:1.5rem;padding:.75rem .9rem}.uuid-label{color:#e5e7eb;font-weight:500}.uuid-value{color:#a5b4fc;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.88rem}.meta-text{color:#e5e7eb;font-size:.9rem;margin-top:.75rem}.radar-hint{color:#9ca3af;font-size:.9rem;margin:0 0 .75rem}.radar-wrapper{align-items:center;background:#020617;border:1px solid #94a3b840;border-radius:.75rem;display:flex;flex:1 1;justify-content:center;min-width:0;overflow:hidden;position:relative}.radar-score-overlay{align-items:center;background:#020817e6;border:1px solid #94a3b84d;border-radius:6px;box-shadow:0 4px 8px #00000080;display:flex;font-size:14px;font-weight:600;gap:12px;left:50%;padding:8px 16px;position:absolute;top:8px;transform:translateX(-50%);z-index:10}.radar-score-team{align-items:center;display:flex;gap:8px}.radar-score-team.radar-score-t{color:#ef4444}.radar-score-team.radar-score-ct{color:#3b82f6;flex-direction:row-reverse}.radar-score-name{font-weight:600}.radar-score-value{font-size:16px;font-weight:700;min-width:20px;text-align:center}.radar-score-separator{color:#9ca3af;font-weight:400}.radar-image{display:block;height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}.radar-overlay{cursor:pointer;inset:0;pointer-events:auto;position:absolute;z-index:2}.smoke-area{background:radial-gradient(circle,#94a3b8cc 0,#94a3b873 55%,#0f172a1a 85%,#0000 100%);border-radius:999px;height:48px;position:absolute;transform:translate(-50%,-50%);width:48px}.smoke-area.smoke-t{background:radial-gradient(circle,#ef4444cc 0,#ef444480 55%,#0f172a1a 85%,#0000 100%)}.smoke-area.smoke-ct{background:radial-gradient(circle,#3b82f6cc 0,#3b82f680 55%,#0f172a1a 85%,#0000 100%)}.grenade-throw{border:1px solid #020617;border-radius:999px;height:8px;position:absolute;transform:translate(-50%,-50%);width:8px;z-index:3}.grenade-throw--he{background:#facc15}.grenade-throw--flash{background:#f9fafb}.grenade-throw--smoke{background:#6b7280}.grenade-throw--molotov{background:linear-gradient(135deg,#f97316,#dc2626)}.grenade-throw--decoy{background:#a855f7}.grenade-throw--unknown{background:#9ca3af}.grenade-throw.team-t{box-shadow:0 0 0 1px #ef4444e6}.grenade-throw.team-ct{box-shadow:0 0 0 1px #3b82f6e6}.he-explosion{background:radial-gradient(circle,#facc15e6 0,#f871714d 40%,#0f172a00 100%);height:48px;width:48px}.flash-explosion,.he-explosion{border-radius:999px;pointer-events:none;position:absolute;transform:translate(-50%,-50%);z-index:3}.flash-explosion{background:radial-gradient(circle,#f9fafbf2 0,#f9fafb99 35%,#94a3b833 65%,#0f172a00 100%);height:52px;width:52px}.inferno-area{animation:inferno-flicker .6s infinite alternate;background:radial-gradient(circle,#f87171cc 0,#ef444499 30%,#fb923c66 55%,#0f172a00 100%);border-radius:999px;box-shadow:0 0 12px #fb923cb3,0 0 24px #f87171b3;height:40px;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:40px;z-index:2}@keyframes inferno-flicker{0%{box-shadow:0 0 10px #fb923c99,0 0 18px #f8717199;opacity:.7;transform:translate(-50%,-50%) scale(.9)}50%{box-shadow:0 0 18px #fb923ce6,0 0 30px #f87171e6;opacity:.95;transform:translate(-50%,-50%) scale(1.05)}to{box-shadow:0 0 14px #fb923cbf,0 0 26px #f87171bf;opacity:.8;transform:translate(-50%,-50%) scale(1.15)}}.vision-cone{background:#94a3b859;-webkit-clip-path:polygon(0 50%,100% 0,100% 100%);clip-path:polygon(0 50%,100% 0,100% 100%);height:24px;position:absolute;transform-origin:0 50%;transition:none;width:40px}.vision-cone.team-2{background:#ef444473}.vision-cone.team-3{background:#3b82f673}.vision-cone.is-dead{opacity:.25}.player-dot{align-items:center;background:#e5e7eb;border:2px solid #020617;border-radius:999px;color:#fff;cursor:pointer;display:flex;font-size:10px;font-weight:700;height:16px;justify-content:center;pointer-events:auto;position:absolute;text-shadow:0 0 2px #000c;transform:translate(-50%,-50%);transition:none;width:16px}.player-dot.team-2{background:#ef4444}.player-dot.team-3{background:#3b82f6}.player-dot.is-dead{opacity:.4}.player-dot-selected{border:3px solid #fbbf24!important;box-shadow:0 0 8px #fbbf24cc,0 0 16px #fbbf2499;z-index:100}.player-dot:hover{transform:translate(-50%,-50%) scale(1.2);transition:transform .1s ease;z-index:50}.player-dot-number{line-height:1;-webkit-user-select:none;user-select:none}.vision-cone-selected{box-shadow:0 0 8px #fbbf2499;z-index:99}.frame-controls{display:flex;flex-direction:column;gap:.5rem}.round-navigation-buttons{display:flex;gap:.5rem;margin-bottom:.25rem}.round-nav-button{background:#0000;border:1px solid #94a3b899;border-radius:6px;color:#e5e7eb;cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:all .2s ease}.round-nav-button:hover:not(:disabled){background:#374151;border-color:#9ca3af}.round-nav-button:disabled{cursor:not-allowed;opacity:.4}.frame-slider-label{align-items:stretch;color:#e5e7eb;display:flex;flex-direction:column;font-size:.9rem;gap:.4rem}.frame-slider{width:100%}.frame-meta{color:#9ca3af;font-size:.85rem;margin:0}.playback-controls{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.playback-button{background:#f59e0b;border:none;border-radius:999px;color:#111827;cursor:pointer;font-size:.85rem;font-weight:600;padding:.4rem .9rem}.speed-controls-wrapper{display:flex;flex-direction:column;gap:.5rem}.speed-controls-label{color:#9ca3af;font-size:.85rem;font-weight:500}.speed-controls{display:flex;flex-wrap:wrap;gap:.35rem}.speed-button{background:#0000;border:1px solid #94a3b899;border-radius:999px;color:#e5e7eb;cursor:pointer;font-size:.8rem;padding:.25rem .6rem}.speed-button.is-active{background:#4b5563;border-color:#e5e7eb}.round-controls-wrapper{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.round-controls-label{color:#9ca3af;font-size:.85rem;font-weight:500}.round-controls{display:flex;flex-wrap:wrap;gap:.35rem;max-height:200px;overflow-y:auto}.round-button{background:#0000;border:1px solid #94a3b899;border-radius:999px;color:#e5e7eb;cursor:pointer;font-size:.8rem;min-width:2.5rem;padding:.25rem .6rem;text-align:center}.round-button:hover{background:#374151;border-color:#9ca3af}.round-button.is-active{background:#3b82f6;border-color:#60a5fa;color:#fff;font-weight:600}.round-controls::-webkit-scrollbar{width:6px}.round-controls::-webkit-scrollbar-track{background:#1a1a1a;border-radius:3px}.round-controls::-webkit-scrollbar-thumb{background:#444;border-radius:3px}.round-controls::-webkit-scrollbar-thumb:hover{background:#555}.analysis-left-panel{display:flex;flex-direction:column;max-width:800px;min-width:0;overflow:hidden;width:60%}.analysis-right-panel{display:flex;flex:1 1;flex-direction:column;gap:1rem;min-width:0;overflow-x:hidden;overflow-y:auto}.radar-panel-container{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.radar-panel-content{display:flex;flex:1 1;flex-direction:row;gap:1rem;min-height:0;overflow:hidden}.radar-panel-controls-left{border-right:1px solid #94a3b833;display:flex;flex-direction:column;flex-shrink:0;gap:1rem;padding-right:1rem;width:200px}.loading-screen{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#020817f2;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.loading-content{color:#e5e7eb;max-width:400px;padding:2rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #94a3b833;border-radius:50%;border-top-color:#3b82f6;height:64px;margin:0 auto 2rem;width:64px}@keyframes spin{to{transform:rotate(1turn)}}.loading-title{color:#f8fafc;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.loading-description{color:#94a3b8;font-size:.875rem;margin:0 0 1.5rem}.loading-progress{background:#94a3b833;border-radius:2px;height:4px;margin-top:1rem;overflow:hidden;width:100%}.loading-progress-bar{animation:shimmer 2s infinite;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:2px;height:100%;transition:width .3s ease}@keyframes shimmer{0%{background-position:-100% 0}to{background-position:200% 0}}.timeline-container{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.timeline-subtitle{color:#888;font-size:14px;font-weight:400;margin-left:8px}.timeline-empty{color:#888;margin:0;padding:20px;text-align:center}.timeline-events{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow-x:hidden;overflow-y:auto}.timeline-event{background:#252525;border-left:3px solid #444;border-radius:4px;padding:12px;transition:all .2s ease}.timeline-event:hover{background:#2a2a2a;border-left-color:#666}.timeline-event-current{background:#2d3a4a;border-left-color:#4a9eff;box-shadow:0 0 8px #4a9eff4d}.timeline-event-time{color:#aaa;font-size:12px;font-weight:500;margin-bottom:6px}.timeline-event-content{color:#ddd;font-size:14px;line-height:1.5}.timeline-player{align-items:center;border-radius:3px;display:inline-flex;font-weight:600;gap:4px;padding:2px 4px}.timeline-player.team-t{background:#ef444426;color:#ef4444}.timeline-player.team-ct{background:#3b82f626;color:#3b82f6}.timeline-player.team-unknown{background:#9ca3af26;color:#9ca3af}.timeline-team-badge{background:#0000004d;border-radius:2px;font-size:10px;font-weight:700;padding:1px 4px;text-transform:uppercase}.timeline-player.team-t .timeline-team-badge{background:#ef44444d;color:#fca5a5}.timeline-player.team-ct .timeline-team-badge{background:#3b82f64d;color:#93c5fd}.timeline-separator{color:#888;margin:0 2px}.timeline-weapon{color:#6bcf7f;font-style:italic;font-weight:500}.timeline-badge{border-radius:3px;display:inline-block;font-size:10px;font-weight:700;margin-left:8px;padding:2px 6px;text-transform:uppercase;vertical-align:middle}.timeline-badge-headshot{background:#ff6b6b;color:#fff}.timeline-container::-webkit-scrollbar{width:8px}.timeline-container::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}.timeline-container::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.timeline-container::-webkit-scrollbar-thumb:hover{background:#555}.player-list-container{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:visible}.player-list-empty{color:#888;margin:0;padding:20px;text-align:center}.player-list-content{grid-gap:12px;display:grid;flex:1 1;gap:12px;grid-template-rows:1fr 1fr;min-height:0;overflow:visible}.player-list-team{display:flex;flex-direction:column;gap:8px}.player-list-team-header{align-items:center;border-radius:4px;display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:8px 12px}.player-list-team-header.team-t{background:#ef444426;border-left:3px solid #ef4444;color:#ef4444}.player-list-team-header.team-ct{background:#3b82f626;border-left:3px solid #3b82f6;color:#3b82f6}.player-list-team-name{font-weight:600}.player-list-team-count{font-size:12px;font-weight:400;opacity:.8}.player-list-players{flex-wrap:nowrap;overflow:visible}.player-box,.player-list-players{display:flex;flex-direction:row;gap:12px;min-width:0}.player-box{background:#1f2937;border:2px solid #0000;border-radius:8px;cursor:pointer;flex:1 1;padding:12px;position:relative;transition:all .2s ease}.player-box:hover{background:#374151;box-shadow:0 4px 8px #0000004d;transform:translateY(-2px)}.player-box.player-dead{background:#111827;opacity:.5}.player-box.player-selected{background:#374151;border-color:#fbbf24;box-shadow:0 0 12px #fbbf2480}.player-box.team-t{border-left:4px solid #ef4444}.player-box.team-ct{border-left:4px solid #3b82f6}.player-box-number{align-items:center;background:#94a3b833;border:1px solid #94a3b866;border-radius:6px;color:#e5e7eb;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.player-box-content{display:flex;flex:1 1;flex-direction:column;gap:8px;min-width:0}.player-box-name{color:#e5e7eb;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-box-stats{display:flex;flex-direction:row;gap:16px}.player-box-stat{display:flex;flex-direction:column;gap:2px}.player-box-stat-label{color:#9ca3af;font-size:10px;font-weight:500;text-transform:uppercase}.player-box-stat-value{color:#e5e7eb;font-size:16px;font-weight:700}.player-box-stat-value.player-box-stat-money{color:#fbbf24;font-size:14px}.player-box-weapon{font-size:12px;margin-top:4px}.player-box-weapon-value{color:#6bcf7f;font-weight:600;text-transform:uppercase}.player-box-utility{font-size:12px;margin-top:4px}.player-box-utility-value{color:#a78bfa;display:block;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-box-icons{align-items:center;bottom:8px;display:flex;gap:6px;left:8px;position:absolute;z-index:10}.player-box-bomb-icon{animation:bomb-pulse 2s ease-in-out infinite;display:inline-block;filter:drop-shadow(0 0 2px rgba(239,68,68,.8));font-size:18px;line-height:1}.player-box-defuse-text{background:#3b82f626;border:1px solid #3b82f666;border-radius:4px;color:#3b82f6;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;line-height:1.2;padding:2px 6px;text-transform:uppercase}@keyframes bomb-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}
/*# sourceMappingURL=main.1ee2386c.css.map*/