:root{--ui-stroke: #bdd8d6ff;--glass-bg-light: rgba(255, 255, 255, .5);--glass-border-light: rgba(255, 255, 255, .4);--glass-shadow-light: 0 8px 32px 0 rgba(31, 38, 135, .07);--glass-bg-dark: rgba(30, 30, 35, .5);--glass-border-dark: rgba(255, 255, 255, .1);--glass-shadow-dark: 0 8px 32px 0 rgba(0, 0, 0, .4);--glass-blur: blur(24px) saturate(180%);color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Segoe UI,sans-serif;background:#000;color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:block;min-height:100vh;background:#000}.app{position:relative;width:100vw;height:100vh;background:#000;overflow:hidden}.sidebar{position:absolute;top:17px;left:16px;bottom:32px;box-sizing:border-box;width:295px;height:auto;margin:0;padding:16px;display:flex;flex-direction:column;gap:14px;z-index:200;overflow:hidden;background:var(--glass-bg-light);border:1px solid var(--glass-border-light);border-radius:24px;box-shadow:var(--glass-shadow-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:all .3s cubic-bezier(.4,0,.2,1)}.sidebar.collapsed{width:44px;height:44px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:12px}.sidebarHeader{display:flex;min-height:30px;align-items:center;justify-content:space-between;gap:8px}.sidebar.collapsed .sidebarHeader{justify-content:center;width:100%}.sidebarHeader h2{margin:0;color:#0f172a;font-size:18px;font-weight:650;line-height:1}.sidebarActions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.sidebar.collapsed .sidebarActions{justify-content:center}.sidebarActionSlot{width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px}.sidebarIconButton{width:30px;height:30px;display:grid;place-items:center;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:#ffffff52;box-shadow:0 8px 20px #0f172a14;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#3c3c43;cursor:pointer;transition:background .18s ease,transform .18s ease,opacity .18s ease}.sidebarIconButton:hover{background:#ffffff85;transform:translateY(-1px)}.sidebarIconButton.danger{color:#dc2626;border-color:#f8717147;background:#fee2e26b}.playerSegment{display:grid;grid-template-columns:1fr 1fr;background:#ffffff4d;padding:4px;border:1px solid rgba(255,255,255,.4);border-radius:14px;gap:4px}.playerSegment button{border:0;background:none;padding:8px 10px;font-size:13px;font-weight:600;color:#64748b;border-radius:10px;cursor:pointer;transition:all .2s ease}.playerSegment button.active{background:#fffc;color:#0f172a;box-shadow:0 2px 8px #0f172a14}.sidebarModeSegment{flex:1;min-width:0;padding:3px;border-radius:12px}.sidebarModeSegment button{padding:6px 8px;border-radius:9px;font-size:12px;font-weight:600}.sidebarTabPane{display:none}.sidebarTabPane.active{display:flex;flex:1;min-height:0;flex-direction:column;gap:14px}.matchSearchTools{display:flex;align-items:center;gap:6px}.searchBox{position:relative;flex:1;min-width:0}.searchBox svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none}.searchBox input{width:100%;height:30px;padding:7px 9px 7px 30px;border:1px solid rgba(255,255,255,.4);border-radius:12px;font-size:12px;font-weight:500;background:#ffffff4d;color:#0f172a;box-sizing:border-box}.dateControl{position:relative;width:107px;height:30px;box-sizing:border-box;display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid rgba(255,255,255,.4);border-radius:12px;background:#ffffff4d;color:#334155;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s ease}.dateControl:hover{background:#ffffff80}.filterControlWrapper{position:relative}.filterControlButton{position:relative;height:30px;box-sizing:border-box;display:flex;align-items:center;gap:6px;padding:0 10px;border:1px solid rgba(255,255,255,.4);border-radius:12px;background:#ffffff4d;color:#334155;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease;white-space:nowrap}.filterControlButton.iconOnly{padding:0;width:30px;justify-content:center}.filterControlButton:hover{background:#ffffff80}.app.darkMode .filterControlButton{background:#ffffff0d;border-color:#ffffff1a;color:#f8fafc}.app.darkMode .filterControlButton:hover{background:#ffffff1a}.filterPopover{position:absolute;top:calc(100% + 8px);right:0;width:160px;padding:10px;background:#ffffffd9;border:1px solid rgba(0,0,0,.08);border-radius:16px;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:0 10px 30px #00000026;z-index:1000;display:flex;flex-direction:column;gap:8px;animation:popoverFadeIn .15s cubic-bezier(.4,0,.2,1)}.app.darkMode .filterPopover{background:#1e1e22d9;border-color:#ffffff1a;box-shadow:0 10px 30px #0006}.filterPopoverHeader{font-size:10px;font-weight:700;text-transform:uppercase;color:#64748b;letter-spacing:.05em;padding-bottom:4px;border-bottom:1px solid rgba(0,0,0,.05)}.app.darkMode .filterPopoverHeader{border-bottom-color:#ffffff0d;color:#94a3b8}.filterOptions{display:flex;flex-direction:column;gap:2px}.filterOption{background:transparent;border:none;padding:8px 10px;border-radius:8px;text-align:left;font-size:13px;font-weight:500;color:#334155;cursor:pointer;transition:all .15s ease}.app.darkMode .filterOption{color:#e2e8f0}.filterOption:hover{background:#0000000d}.app.darkMode .filterOption:hover{background:#ffffff1a}.filterOption.active{background:#0a84ff;color:#fff;font-weight:600}.app.darkMode .filterOption.active{background:#0a84ff;color:#fff}.dateControl select{position:absolute;inset:0;opacity:0;cursor:pointer}.sidebarMatchList{min-height:0;display:flex;flex-direction:column;flex:1;gap:10px;overflow:visible}.sidebarTableHeader,.sidebarMatchRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:32px;padding:0 12px}.sidebarTableHeader{flex:0 0 auto;min-height:22px;padding:0 6px;background:transparent;border:0;border-radius:0;box-shadow:none}.sidebarTableHeader strong{color:#64748b;font-size:9px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.sidebarTableHeader strong:last-child{text-align:right}.sidebarRows{flex:1;min-height:0;overflow:auto;padding:0 2px 10px;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.sidebarMatchRow{width:100%;min-height:64px;height:auto;border:0;border-radius:0;border-bottom:1px solid rgba(148,163,184,.2);background:transparent;text-align:left;cursor:pointer;transition:background .15s ease,border-radius .15s ease}.sidebarMatchRow.active{background:#0b84ffd9;border-bottom-color:transparent;border-radius:14px}.sidebarMatchCopy{min-width:0;display:flex;flex-direction:column;gap:2px}.sidebarMatchCopy strong{color:#0f172a;font-size:13px;font-weight:650;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebarMatchCopy em{color:#64748b;font-size:12px;font-style:normal;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebarMatchRow.active .sidebarMatchCopy strong,.sidebarMatchRow.active .sidebarMatchCopy em{color:#fff}.rowBadge{justify-self:end;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.2}.rowBadge.human{background:#dbeafecc;color:#1d4ed8}.rowBadge.bot{background:#f1f5f9cc;color:#475569}.rowBadge.mixed{background:#ecfdf5cc;color:#15803d}.rowBadge.storm{background:#fef3c7cc;color:#b45309}.sidebarFooter{display:flex;align-items:center;justify-content:space-between;padding:0 4px;font-size:12px;color:#94a3b8;font-weight:600}.sidebarFooter button{height:28px;padding:0 12px;border:0;border-radius:999px;background:#fff6;color:#475569;font-size:12px;font-weight:700;cursor:pointer}.bottomThematicFooter{position:absolute;bottom:6px;left:50%;transform:translate(-50%);text-align:center;font-size:10px;font-weight:700;white-space:nowrap;color:#94a3b8;pointer-events:none;z-index:100;text-shadow:0 1px 2px rgba(0,0,0,.5)}.app.darkMode .bottomThematicFooter{color:#64748b;text-shadow:0 1px 2px rgba(0,0,0,.8)}.workspace{position:absolute;inset:0;z-index:1;background:#000;overflow:hidden;height:100vh;width:100vw}.topbar{position:absolute;top:17px;left:0;right:0;margin:0 auto;width:max-content;z-index:100;display:flex;align-items:center;gap:8px}.topLayersContainer{position:absolute;top:64px;left:0;right:0;margin:0 auto;width:max-content;z-index:100;display:flex;justify-content:center}.roundIcon{width:38px;height:38px;border-radius:50%;background:var(--glass-bg-light);border:1px solid var(--glass-border-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);display:grid;place-items:center;color:#0a84ff;cursor:pointer;box-shadow:var(--glass-shadow-light);transition:all .2s ease}.roundIcon:hover{background:#ffffffa6;transform:translateY(-1px)}.roundIcon.active{background:#0a84ffd9;color:#fff;border-color:#fff3}.roundIcon.themeToggle{color:#0f172a}.levelSelect{height:38px;padding:0 16px;background:var(--glass-bg-light);border:1px solid var(--glass-border-light);border-radius:20px;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);display:flex;align-items:center;gap:8px;cursor:pointer;position:relative;min-width:165px;box-shadow:var(--glass-shadow-light);transition:all .2s ease}.levelSelect:hover{background:#ffffffa6}.levelSelect span{font-size:13px;font-weight:800;color:#0f172a;flex:1;text-align:center}.levelSelect select{position:absolute;inset:0;opacity:0;cursor:pointer}.modeCards{position:absolute;right:calc(100% + 10px);top:0;z-index:100;display:flex;flex-direction:column;align-items:center;gap:14px;padding:14px;background:var(--glass-bg-light);border:1px solid var(--glass-border-light);border-radius:24px;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow-light)}.modeCloseButton{display:none}.modeCard{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:60px;padding:0;border:0;background:none;cursor:pointer;color:#737373}.modeCard:hover{background:none}.modeCard.active{color:#000}.modePreview{width:60px;height:60px;border:1px solid rgba(0,0,0,.1);border-radius:16px;background:#0f172a;object-fit:cover;opacity:.7;display:block;transition:opacity .16s ease,outline-color .16s ease,transform .16s ease}.modeCard.active .modePreview{outline:3px solid #0a84ff;outline-offset:2px;border-color:transparent;opacity:1}.modeCard strong{color:currentColor;font-size:10px;font-weight:600;line-height:1.2}.mapShell{position:absolute;inset:0;background:#000;cursor:grab;z-index:10;overflow:hidden;touch-action:none}.mapShell:active{cursor:grabbing}.mapContent{position:absolute;left:50%;top:50%;width:min(100%,100dvh);max-width:100%;aspect-ratio:1;height:auto;transform-origin:center;will-change:transform}.minimap{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none}.overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.mapTools{position:absolute;right:16px;top:69px;display:flex;flex-direction:column;align-items:flex-end;gap:12px;z-index:100}.mapTools button:not(.modeCard):not(.segmentButton){width:42px;height:42px;border-radius:50%;background:var(--glass-bg-light);border:1px solid var(--glass-border-light);display:grid;place-items:center;color:#171717;cursor:pointer;box-shadow:var(--glass-shadow-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.mapTools button:not(.modeCard):not(.segmentButton).active{background:#0a84ffd9;color:#fff;border-color:#fff3}.layersSegment{display:flex;background:var(--glass-bg-light);border:1px solid var(--glass-border-light);border-radius:20px;padding:4px;box-shadow:var(--glass-shadow-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);z-index:5}.layersSegment button{border:0;background:none;padding:6px 12px;font-size:13px;font-weight:600;color:#64748b;border-radius:16px;cursor:pointer;transition:all .2s ease}.layersSegment button.active{background:#fffc;color:#0f172a;box-shadow:0 2px 8px #0f172a14}.zoomGroup{display:flex;flex-direction:column;gap:8px;background:none;border:none;padding:0;box-shadow:none}.zoomGroup button{border-radius:50%!important}.compassControl{padding:0!important}.compassRose{position:relative;width:34px;height:34px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:block}.compassRose b{position:absolute;font-size:8px;font-weight:800}.north{top:3px;left:50%;transform:translate(-50%);color:#ef4444}.east{right:3px;top:50%;transform:translateY(-50%)}.south{bottom:3px;left:50%;transform:translate(-50%)}.west{left:3px;top:50%;transform:translateY(-50%)}.compassRose i{position:absolute;top:5px;left:50%;width:2px;height:12px;background:#ef4444;transform:translate(-50%)}.emptyState{display:grid;place-items:center;height:100%;color:#64748b;font-weight:600}.bottomPanels{position:absolute;left:0;right:0;margin:0 auto;bottom:32px;z-index:100;display:flex;flex-direction:column;gap:12px;align-items:center;width:max-content}.floatingTimeline{box-sizing:border-box;display:flex;align-items:center;gap:12px;padding:8px 12px;width:440px;height:48px;border-radius:24px;background:var(--glass-bg-light);border:1px solid var(--glass-border-light);box-shadow:var(--glass-shadow-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);opacity:0;pointer-events:none;transform:translateY(9px) scale(.98);transition:opacity .18s ease,transform .18s ease;z-index:10}.bottomPanels.has-match.timeline-visible .floatingTimeline,.bottomPanels.has-match:focus-within .floatingTimeline{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.timelineRail{position:relative;flex:1;display:flex;align-items:center;height:12px;background:#0000000d;border:1px solid rgba(255,255,255,.5);border-radius:999px;overflow:hidden}.playedProgress{position:absolute;left:0;top:0;height:100%;background:#0a84ff99;border-radius:20px;pointer-events:none;z-index:4}.timelinePlayhead{position:absolute;top:50%;width:16px;height:16px;box-sizing:border-box;border:2px solid #ffffff;border-radius:50%;background:#0a84ff;box-shadow:0 2px 6px #0003;pointer-events:none;transform:translate(-50%,-50%);z-index:9}.floatingTimeline input[type=range]{position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:7;opacity:0;accent-color:#0a84ff}.eventTicks{position:absolute;inset:0;pointer-events:auto;z-index:8}.tick{position:absolute;top:0;width:2px;height:100%;border-radius:2px;background:#334155;transform:translate(-50%);cursor:crosshair;transition:transform .1s ease}.tick:hover{transform:translate(-50%) scaleX(1.4);z-index:11}.tick.kill{background:#dc2626;z-index:2}.tick.death{background:#334155}.tick.traffic{background:#f59e0b}.tick.storm{background:#4f46e5}.timelineTime{font-family:Geist Mono,ui-monospace,monospace;font-size:11px;font-weight:650;color:#334155;flex:0 0 34px;line-height:1}.floatingTimeline .duration{color:#0a84ff;text-align:right}.playbackControls{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--glass-bg-light);border:1px solid var(--glass-border-light);border-radius:28px;box-shadow:var(--glass-shadow-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.transportGroup{display:flex;gap:8px;align-items:center}.playButton{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#fff;background:#0a84ffd9;cursor:pointer;transition:all .2s ease}.playButton.active{background:#dc2626d9}.playButton:active{transform:scale(.92)}.playButton:disabled{opacity:.5;cursor:not-allowed}.iconButton{display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.4);border-radius:50%;color:#334155;background:#fff6;cursor:pointer;transition:all .2s ease}.iconButton:hover:not(:disabled){background:#ffffffb3;color:#0a84ff;border-color:#fff9}.iconButton:disabled{opacity:.45;cursor:not-allowed}.speedControl{position:relative;display:flex;align-items:center;gap:5px;height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.4);border-radius:18px;background:#fff6;font-size:13px;font-weight:600;color:#0f172a;cursor:pointer;transition:all .2s ease}.speedControl:hover:not(.disabled){border-color:#fff9}.speedControl.disabled{opacity:.45;cursor:not-allowed}.speedControl select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.speedControl.disabled select{cursor:not-allowed}.eventInfoCard{position:absolute;bottom:176px;left:50%;transform:translate(-50%);z-index:200;width:220px;padding:16px;background:var(--glass-bg-light);border:1px solid var(--glass-border-light);border-radius:20px;box-shadow:var(--glass-shadow-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);pointer-events:none;animation:fadeIn .2s cubic-bezier(.4,0,.2,1)}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.eventHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.eventBadge{padding:4px 12px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase;color:#fff;letter-spacing:.02em}.eventBadge.kill{background:#dc2626}.eventBadge.death{background:#334155}.eventBadge.loot{background:#f59e0b}.eventTime{font-size:11px;font-weight:700;color:#94a3b8;font-family:Geist Mono,monospace}.eventBody{display:flex;flex-direction:column;gap:4px}.eventBody strong{font-size:14px;color:#0f172a;font-weight:700}.eventBody span{font-size:11px;color:#64748b;font-family:ui-monospace,monospace}.app.darkMode{background:#0f172a}.app.darkMode .sidebar,.app.darkMode .roundIcon,.app.darkMode .levelSelect,.app.darkMode .modeCards,.app.darkMode .floatingTimeline,.app.darkMode .playbackControls,.app.darkMode .eventInfoCard,.app.darkMode .mapTools button:not(.modeCard):not(.segmentButton){background:var(--glass-bg-dark);border-color:var(--glass-border-dark);box-shadow:var(--glass-shadow-dark)}.app.darkMode .mapTools button:not(.modeCard):not(.segmentButton){color:#cbd5e1}.app.darkMode .sidebarHeader h2{color:#fff}.app.darkMode .sidebarIconButton{color:#fff;background:#ffffff14;border-color:#ffffff1f;box-shadow:0 10px 24px #00000038}.app.darkMode .sidebarIconButton:hover{background:#ffffff24}.app.darkMode .sidebarIconButton.danger{color:#fca5a5;background:#7f1d1d47;border-color:#f8717138}.app.darkMode .playerSegment,.app.darkMode .searchBox input,.app.darkMode .dateControl,.app.darkMode .sidebarFooter button,.app.darkMode .iconButton,.app.darkMode .speedControl{background:#ffffff0d;border-color:#ffffff1a;color:#cbd5e1}.app.darkMode .searchBox input,.app.darkMode .dateControl{color:#f5f5f5}.app.darkMode .dateControl svg,.app.darkMode .searchBox svg{color:#737373}.app.darkMode .layersSegment{background:var(--glass-bg-dark);border-color:var(--glass-border-dark);box-shadow:var(--glass-shadow-dark)}.app.darkMode .playerSegment button,.app.darkMode .layersSegment button{color:#737373}.app.darkMode .playerSegment button.active,.app.darkMode .layersSegment button.active{background:#ffffff26;color:#fff;box-shadow:0 5px 14px -8px #00000080}.app.darkMode .sidebarTableHeader{background:#ffffff08;border-color:#ffffff1a}.app.darkMode .sidebarTableHeader strong{color:#737373}.app.darkMode .sidebarMatchRow{border-color:#ffffff1a}.app.darkMode .sidebarMatchRow.active{background:#3b82f64d}.app.darkMode .sidebarMatchCopy strong,.app.darkMode .sidebarMatchCopy em{color:#f8fafc}.app.darkMode .rowBadge.bot{background:#33415599;border:1px solid rgba(100,116,139,.4);color:#cbd5e1}.app.darkMode .rowBadge.human{background:#1d4ed866;border:1px solid rgba(96,165,250,.4);color:#bfdbfe}.app.darkMode .rowBadge.mixed{background:#15803d4d;border:1px solid rgba(74,222,128,.3);color:#bbf7d0}.app.darkMode .rowBadge.storm{background:#b453094d;border:1px solid rgba(251,191,36,.3);color:#fde68a}.app.darkMode .roundIcon.themeToggle{color:#f8fafc}.app.darkMode .roundIcon:hover,.app.darkMode .levelSelect:hover,.app.darkMode .mapTools button:not(.modeCard):not(.segmentButton):hover,.app.darkMode .modeCloseButton:hover,.app.darkMode .iconButton:hover:not(:disabled){background:#ffffff26}.app.darkMode .mapTools button:not(.modeCard):not(.segmentButton).active{background:#2563ebd9;color:#eff6ff;border-color:#fff3}.app.darkMode .levelSelect,.app.darkMode .levelSelect span{color:#f8fafc}.app.darkMode .modeCards{box-shadow:0 20px 40px -10px #0009}.app.darkMode .modeCard{color:#737373}.app.darkMode .modeCard.active{color:#f8fafc}.app.darkMode .modePreview{border-color:#ffffff1a}.app.darkMode .modeCard.active .modePreview{outline-color:#60a5fa}.app.darkMode .modeCloseButton{background:#ffffff1a;border-color:#ffffff1a;color:#cbd5e1}.app.darkMode .floatingTimeline{box-shadow:0 16px 34px -20px #0009}.app.darkMode .timelineRail{background:#ffffff0d;border-color:#ffffff1a}.app.darkMode .playedProgress{background:#60a5fa99}.app.darkMode .timelinePlayhead{background:#0f172a;border-color:#60a5fa;box-shadow:0 4px 12px -6px #60a5facc}.app.darkMode .timelineTime{color:#cbd5e1}.app.darkMode .floatingTimeline .duration{color:#60a5fa}.app.darkMode .tick.death{background:#cbd5e1}.app.darkMode .playbackControls{box-shadow:0 14px 40px #0006}.app.darkMode .eventBody strong{color:#f8fafc}.mobileSettingsButton{display:none}@media(max-width:1024px){.floatingTimeline{width:401px}.timelineRail{flex-basis:301px}}@media(max-width:768px){.sidebar{display:none}.mobileSettingsButton{display:grid}.mobileSheetOverlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;animation:fadeInOverlay .3s ease}.mobileSheet{position:fixed;bottom:0;left:0;right:0;height:85vh;background:var(--glass-bg-light);border-top-left-radius:24px;border-top-right-radius:24px;border-top:1px solid var(--glass-border-light);box-shadow:0 -10px 40px #0003;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);z-index:1000;display:flex;flex-direction:column;padding:20px 16px;gap:18px;transform:translateY(100%);animation:slideUpSheet .4s cubic-bezier(.32,.72,0,1) forwards}.app.darkMode .mobileSheet{background:var(--glass-bg-dark);border-top:1px solid var(--glass-border-dark)}.mobileSheetHandle{width:36px;height:4px;background:#96969666;border-radius:2px;margin:0 auto 16px}.mobileSheet .sidebarHeader h2{font-size:20px}.mobileSheet .sidebarMatchList{flex:1;overflow-y:auto}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}}[data-tooltip]{position:relative}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(-4px);padding:6px 12px;background:var(--glass-bg-dark);color:#f8fafc;font-size:11px;font-weight:600;white-space:nowrap;border-radius:10px;border:1px solid var(--glass-border-dark);box-shadow:var(--glass-shadow-dark);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:1000}[data-tooltip]:hover:before{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.mapTools [data-tooltip]:before{top:50%;bottom:auto;right:calc(100% + 12px);left:auto;transform:translateY(-50%) translate(4px)}.mapTools [data-tooltip]:hover:before{transform:translateY(-50%) translate(0)}.bottomPanels [data-tooltip]:before{top:auto;bottom:calc(100% + 8px);transform:translate(-50%) translateY(4px)}.bottomPanels [data-tooltip]:hover:before{transform:translate(-50%) translateY(0)}.sidebar [data-tooltip]:before,.floatingUpload[data-tooltip]:before{left:auto;right:0;top:calc(100% + 8px);transform:translateY(-4px)}.sidebar [data-tooltip]:hover:before,.floatingUpload[data-tooltip]:hover:before{transform:translateY(0)}.aiChatContainer{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;background:transparent;border:0;border-radius:0;overflow:visible}.app.darkMode .aiChatContainer{background:transparent;border-color:transparent}.aiChatMessages{flex:1;overflow-y:auto;padding:2px 2px 10px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}.aiStarter{margin:auto;width:100%;display:flex;flex-direction:column;gap:12px}.aiEmptyState{font-size:13px;color:#64748b;font-weight:500;text-align:center}.app.darkMode .aiEmptyState{color:#94a3b8}.aiSuggestionGrid{display:flex;flex-direction:column;gap:8px}.aiSuggestionButton{width:100%;padding:9px 11px;border:1px solid rgba(148,163,184,.22);border-radius:14px;background:#ffffff47;color:#334155;font:inherit;font-size:12px;line-height:1.3;text-align:left;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .16s ease}.aiSuggestionButton:hover{border-color:#0a84ff47;background:#ffffff70;transform:translateY(-1px)}.app.darkMode .aiSuggestionButton{border-color:#94a3b82e;background:#ffffff0e;color:#e2e8f0}.app.darkMode .aiSuggestionButton:hover{border-color:#60a5fa4d;background:#ffffff17}.aiMessageRow{display:flex;width:100%}.aiMessageRow.user{justify-content:flex-end}.aiMessageRow.assistant{justify-content:flex-start}.aiMessageRow.tool{justify-content:stretch;margin:2px 0}.aiMessageBubble{max-width:85%;padding:10px 14px;border-radius:20px;font-size:13px;line-height:1.4;box-shadow:0 2px 8px #0000000a}.aiMessageBubble.user{background:#0a84ff;color:#fff;border-bottom-right-radius:4px}.aiMessageBubble.assistant{background:#e5e7ebcc;color:#0f172a;border-bottom-left-radius:4px}.app.darkMode .aiMessageBubble.assistant{background:#ffffff1a;color:#f8fafc}.aiToolCall{width:100%;border:0;background:transparent;color:#64748b;overflow:hidden}.app.darkMode .aiToolCall{background:transparent;color:#94a3b8}.aiToolCall summary{display:flex;align-items:center;gap:5px;padding:0 4px;cursor:pointer;list-style:none;font-size:11px;font-weight:600}.aiToolCall summary::-webkit-details-marker{display:none}.aiToolCall summary:after{content:"";margin-left:auto;font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase}.app.darkMode .aiToolCall summary:after{color:#94a3b8}.aiToolCall[open] summary:after{content:""}.aiToolPrefix{color:#94a3b8}.aiToolName{color:#334155}.app.darkMode .aiToolName{color:#cbd5e1}.aiToolCall pre{max-height:180px;margin:0;padding:10px;overflow:auto;border-top:1px solid rgba(100,116,139,.16);background:#ffffff8f;color:#334155;font:10px/1.45 Geist Mono,ui-monospace,monospace;white-space:pre-wrap;word-break:break-word}.app.darkMode .aiToolCall pre{border-top-color:#7dd3fc24;background:#0000002e;color:#cbd5e1}.aiChatInputArea{display:flex;gap:8px;background:transparent;align-items:center}.aiAttachButton{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:17px;background:#0000000d;color:#64748b;cursor:pointer;transition:all .2s ease;border:1px solid transparent;flex-shrink:0}.aiAttachButton:hover{background:#0000001a;color:#0f172a;transform:scale(1.05)}.app.darkMode .aiAttachButton{background:#ffffff1a;color:#94a3b8}.app.darkMode .aiAttachButton:hover{background:#ffffff26;color:#f8fafc}.aiChatInputArea input{flex:1;height:34px;border-radius:17px;padding:0 14px;border:1px solid rgba(0,0,0,.1);background:#fff;font-size:13px;color:#0f172a}.app.darkMode .aiChatInputArea input{background:#ffffff1a;border-color:#ffffff1a;color:#f8fafc}.aiSendButton{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:17px;border:none;background:#0a84ff;color:#fff;cursor:pointer;transition:opacity .2s ease,transform .1s ease;flex-shrink:0}.aiSendButton:active{transform:scale(.95)}.aiSendButton:disabled{opacity:.5;cursor:not-allowed;transform:none}.aiAttachmentPreview{position:relative;display:inline-block;align-self:flex-start;margin-bottom:4px}.aiAttachmentPreview img{height:60px;border-radius:8px;border:1px solid rgba(0,0,0,.1);object-fit:cover}.app.darkMode .aiAttachmentPreview img{border-color:#ffffff1a}.aiAttachmentPreview button{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:#334155;color:#fff;border:2px solid white;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:0 2px 4px #0000001a}.app.darkMode .aiAttachmentPreview button{background:#475569;border-color:#1e1e22}.aiAttachmentPreview button:hover{background:#ef4444}.aiChatFooter{position:relative;display:flex;flex-direction:column;gap:8px;padding:10px 4px 4px}.aiAttachmentPreviewList{position:absolute;bottom:calc(100% - 10px);left:0;right:0;display:flex;gap:8px;padding:8px 12px;overflow-x:auto;pointer-events:none}.aiAttachmentPreviewList>*{pointer-events:auto}.aiPoweredBy{font-size:10px;color:#94a3b8;text-align:center;font-weight:500}.app.darkMode .aiPoweredBy{color:#64748b}.aiApiKeyButton{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;background:#0000000d;border:1px solid transparent;color:#64748b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.aiApiKeyButton:hover{background:#0000001a;color:#0f172a;transform:scale(1.05)}.app.darkMode .aiApiKeyButton{background:#ffffff1a;color:#94a3b8}.app.darkMode .aiApiKeyButton:hover{background:#ffffff26;color:#f8fafc}.apiKeyModalOverlay{position:absolute;inset:0;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;border-radius:24px}.apiKeyModal{width:280px;background:var(--glass-bg-light);border:1px solid var(--glass-border-light);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 40px #0003}.app.darkMode .apiKeyModal{background:var(--glass-bg-dark);border-color:var(--glass-border-dark)}.apiKeyModal h3{margin:0;font-size:16px;font-weight:700;color:#0f172a}.app.darkMode .apiKeyModal h3{color:#fff}.apiKeyModal p{margin:0;font-size:12px;color:#64748b;line-height:1.4}.app.darkMode .apiKeyModal p{color:#94a3b8}.apiKeyModal input{height:36px;border-radius:10px;padding:0 12px;border:1px solid rgba(0,0,0,.1);background:#fff;font-size:13px}.app.darkMode .apiKeyModal input{background:#ffffff1a;border-color:#ffffff1a;color:#fff}.apiKeyModalActions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.apiKeyModalActions button{height:32px;padding:0 14px;border-radius:16px;border:none;background:transparent;font-size:13px;font-weight:600;cursor:pointer;color:#64748b}.app.darkMode .apiKeyModalActions button{color:#cbd5e1}.apiKeyModalActions button.primary{background:#0a84ff;color:#fff}.legendPanel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:260px;background:var(--glass-bg-light);border:1px solid var(--glass-border-light);border-radius:20px;padding:16px;display:flex;flex-direction:column;gap:20px;box-shadow:var(--glass-shadow-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);z-index:200;animation:fadeInLegend .2s cubic-bezier(.4,0,.2,1)}@keyframes fadeInLegend{0%{opacity:0;transform:translate(-50%,-50%) translateY(12px)}to{opacity:1;transform:translate(-50%,-50%) translateY(0)}}.app.darkMode .legendPanel{background:var(--glass-bg-dark);border-color:var(--glass-border-dark);box-shadow:var(--glass-shadow-dark)}.legendHeader{display:flex;justify-content:space-between;align-items:center}.legendHeader h3{margin:0;font-size:15px;font-weight:700;color:#0f172a}.app.darkMode .legendHeader h3{color:#fff}.legendSection{display:flex;flex-direction:column;gap:12px}.legendSection h4{margin:0;font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.legendGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.legendItem{display:flex;align-items:center;gap:8px;font-size:12px;color:#334155;font-weight:500}.app.darkMode .legendItem{color:#cbd5e1}.legendColorDot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}.legendMiniPreview{width:24px;height:24px;border-radius:6px;object-fit:cover;background:#0f172a;border:1px solid rgba(0,0,0,.1)}.legendHelpText{margin:0;font-size:12px;color:#64748b;line-height:1.5}.app.darkMode .legendHelpText{color:#94a3b8}.sidebarEmptyState{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;gap:16px}.sidebarEmptyState p{margin:0;font-size:13px;color:#64748b;line-height:1.5;font-weight:500}.primaryActionButton{background:#0a84ff;color:#fff;border:none;padding:10px 20px;border-radius:12px;font-size:13px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0a84ff33;display:inline-block;width:100%;box-sizing:border-box}.primaryActionButton:hover{background:#0070e0;transform:translateY(-1px)}.secondaryActionButton{background:transparent;color:#64748b;border:1px solid rgba(100,116,139,.3);padding:8px 16px;border-radius:10px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;box-sizing:border-box}.secondaryActionButton:hover{background:#64748b0d;color:#0f172a;border-color:#64748b80}.app.darkMode .secondaryActionButton{color:#94a3b8;border-color:#94a3b833}.app.darkMode .secondaryActionButton:hover{background:#ffffff0d;color:#e2e8f0;border-color:#94a3b866}.emptyStateOr{font-size:11px;font-weight:700;text-transform:uppercase;color:#94a3b8;letter-spacing:.05em;position:relative;width:100%;display:flex;align-items:center;justify-content:center;gap:12px}.emptyStateOr:before,.emptyStateOr:after{content:"";flex:1;height:1px;background:#94a3b833}.app.darkMode .sidebarEmptyState p{color:#94a3b8}.dateControlWrapper{position:relative}.calendarPopover{position:absolute;top:calc(100% + 8px);right:-30px;width:220px;padding:12px;background:#ffffffd9;border:1px solid rgba(0,0,0,.08);border-radius:16px;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:0 10px 30px #00000026;z-index:1000;display:flex;flex-direction:column;gap:8px;animation:popoverFadeIn .15s cubic-bezier(.4,0,.2,1)}.app.darkMode .calendarPopover{background:#1e1e22d9;border-color:#ffffff1a;box-shadow:0 10px 30px #0006}@keyframes popoverFadeIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.calendarPopoverHeader{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;text-transform:uppercase;color:#64748b;letter-spacing:.05em;padding-bottom:4px;border-bottom:1px solid rgba(0,0,0,.05)}.app.darkMode .calendarPopoverHeader{border-bottom-color:#ffffff0d;color:#94a3b8}.calendarPopoverHeader button{background:none;border:none;color:#0a84ff;font-weight:600;font-size:11px;text-transform:none;letter-spacing:normal;cursor:pointer;padding:2px 4px}.actualCalendar{display:flex;flex-direction:column;gap:8px;width:100%}.actualCalendarHeader{display:flex;justify-content:space-between;align-items:center}.actualCalendarMonth{font-size:13px;font-weight:700;color:#0f172a}.app.darkMode .actualCalendarMonth{color:#f8fafc}.calNavGroup{display:flex;align-items:center;gap:8px}.calNavButton{background:none;border:none;color:#0a84ff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:2px;transition:opacity .2s ease}.calNavButton:hover{opacity:.6}.app.darkMode .calNavButton{color:#0a84ff}.actualCalendarGrid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:4px;column-gap:2px;text-align:center}.calendarDayName{font-size:10px;font-weight:600;color:#94a3b8;padding-bottom:2px}.calendarDay{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:50%;border:none;background:transparent;font-size:12px;font-weight:500;color:#0f172a;cursor:pointer;padding:0 0 2px;transition:all .15s ease;width:100%}.calendarDay.empty{background:transparent;cursor:default}.calendarDay.noData{color:#0f172a}.app.darkMode .calendarDay.noData{color:#e2e8f0}.calendarDay.noData:hover{background:#0000000f}.app.darkMode .calendarDay.noData:hover{background:#ffffff1a}.calendarDay.hasData{font-weight:600;color:#0f172a}.app.darkMode .calendarDay.hasData{color:#e2e8f0}.calendarDay.hasData:after{content:"";position:absolute;bottom:3px;width:4px;height:4px;border-radius:50%;background-color:var(--density-color)}.calendarDay.hasData:hover{background:#0000000f}.app.darkMode .calendarDay.hasData:hover{background:#ffffff1a}.calendarDay.selected{background:#0f172a!important;color:#fff!important;font-weight:700;transform:scale(1.08)}.app.darkMode .calendarDay.selected{background:#fff!important;color:#0f172a!important}.calendarDay.selected:after{display:none}.sidebarNoMatches{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;gap:8px}.sidebarNoMatches p{margin:0;font-size:13px;color:#64748b;font-weight:600}.sidebarNoMatchesSub{font-size:12px;color:#94a3b8;font-weight:500}.app.darkMode .sidebarNoMatches p{color:#94a3b8}.app.darkMode .sidebarNoMatchesSub{color:#64748b}:root{--calendar-empty: #ebedf0;--calendar-level-1: #216e39;--calendar-level-2: #30a14e;--calendar-level-3: #40c463;--calendar-level-4: #9be9a8}.app.darkMode{--calendar-empty: #161b22;--calendar-level-1: #0e4429;--calendar-level-2: #006d32;--calendar-level-3: #26a641;--calendar-level-4: #39d353}.dragOverlay{position:fixed;inset:0;background:#0a84ff26;border:4px dashed #0a84ff;border-radius:24px;margin:16px;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mapPinContainer{position:absolute;pointer-events:auto;z-index:50;display:flex;flex-direction:column;align-items:center;gap:8px}.mapPinDot{width:16px;height:16px;border-radius:50%;background:#0a84ff;border:3px solid #ffffff;box-shadow:0 0 0 1px #0000001a,0 4px 12px #0a84ff66;animation:pinDrop .3s cubic-bezier(.34,1.56,.64,1)}.app.darkMode .mapPinDot{border-color:#1e1e22}.mapPinAskAgent{background:var(--glass-bg-light);color:#0f172a;border:1px solid var(--glass-border-light);padding:8px 16px;border-radius:20px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:var(--glass-shadow-light);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);animation:pinFadeIn .3s ease .1s both,pinFadeOut .3s ease 2.7s forwards;transition:transform .1s ease,background .2s ease;position:absolute;top:-42px;left:50%;transform:translate(-50%)}.app.darkMode .mapPinAskAgent{background:var(--glass-bg-dark);border-color:var(--glass-border-dark);color:#f8fafc}.mapPinAskAgent:hover{background:#fffc;transform:translate(-50%) scale(1.05)}.app.darkMode .mapPinAskAgent:hover{background:#ffffff26}@keyframes pinDrop{0%{transform:translateY(-20px) scale(.5);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes pinFadeIn{0%{transform:translate(-50%) translateY(10px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes pinFadeOut{0%{transform:translate(-50%) translateY(0);opacity:1}to{transform:translate(-50%) translateY(-10px);opacity:0;pointer-events:none}}.dragOverlay span{background:#0a84ff;color:#fff;padding:12px 24px;border-radius:30px;font-size:16px;font-weight:700;box-shadow:0 10px 30px #0a84ff4d}.keyboardOverlay{position:absolute;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;z-index:100;opacity:.8}.keyboardOverlayHeader{font-size:10px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;text-shadow:0 1px 2px rgba(255,255,255,.5)}.app.darkMode .keyboardOverlayHeader{color:#94a3b8;text-shadow:0 1px 2px rgba(0,0,0,.8)}.keyboardRow{display:flex;gap:6px}.keyboardRow kbd{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;background:var(--glass-bg-light);border:1px solid var(--glass-border-light);color:#64748b;font-family:Geist Mono,ui-monospace,monospace;font-size:14px;font-weight:700;box-shadow:0 4px 6px #0000001a;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:all .1s ease;margin:0}.app.darkMode .keyboardRow kbd{background:var(--glass-bg-dark);border-color:var(--glass-border-dark);color:#94a3b8}.keyboardRow kbd.active{background:#0a84ff;color:#fff;border-color:transparent;transform:translateY(2px);box-shadow:0 1px 2px #0003}.app.darkMode .keyboardRow kbd.active{background:#0a84ff;color:#fff}
