:root{--app-safe-bottom:env(safe-area-inset-bottom,0px);--app-mobile-nav-height:76px;--brand-cyan:#08acd8;--brand-sky:#2fbee8;--brand-blue:#167fca;--brand-deep:#064a91;--brand-ink:#0b2035;--brand-surface:#f5faff;--brand-ring:#167fca3d;--app-surface-border:#0d538821;--app-surface-shadow:0 12px 34px #0a426c14}html,body,#root{min-height:100%}html{scroll-behavior:smooth}*,:before,:after{box-sizing:border-box}body{overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 8% -10%, #08acd81a, transparent 30rem), radial-gradient(circle at 92% 0%, #167fca14, transparent 34rem), var(--mantine-color-body);color:var(--brand-ink);margin:0}[data-mantine-color-scheme=dark] body{--app-surface-border:#7ec6ee29;--app-surface-shadow:0 16px 42px #0000003d;background:radial-gradient(circle at 8% -10%, #08acd824, transparent 32rem), radial-gradient(circle at 92% 0%, #167fca24, transparent 36rem), var(--mantine-color-body);color:var(--mantine-color-dark-0)}::selection{background:#08acd847}:focus-visible{outline:3px solid var(--brand-ring);outline-offset:2px}body::-webkit-scrollbar{width:10px;height:10px}.mantine-ScrollArea-viewport::-webkit-scrollbar{width:10px;height:10px}body::-webkit-scrollbar-thumb{background:#167fca57 padding-box padding-box;border:3px solid #0000;border-radius:999px}.mantine-ScrollArea-viewport::-webkit-scrollbar-thumb{background:#167fca57 padding-box padding-box;border:3px solid #0000;border-radius:999px}.mantine-AppShell-header,.mantine-AppShell-navbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-color:var(--app-surface-border)!important}.mantine-Paper-root{border-color:var(--app-surface-border)}.mantine-Button-root,.mantine-ActionIcon-root,.mantine-NavLink-root,.mantine-Paper-root,.mantine-Input-input{transition:border-color .16s,background-color .16s,box-shadow .16s,transform .16s}.mantine-Input-input:focus,.mantine-Input-input:focus-within{border-color:var(--brand-blue);box-shadow:0 0 0 3px var(--brand-ring)}.mantine-Button-root[data-variant=filled]:not([data-color=red]):not([data-color=green]){box-shadow:0 8px 18px #167fca2e}.mantine-Progress-root{overflow:hidden;box-shadow:inset 0 1px 2px #064a911a}.mantine-Progress-section{transition:width .42s cubic-bezier(.22,1,.36,1)}.brand-progress .mantine-Progress-section{box-shadow:0 0 12px #08acd857;background:linear-gradient(90deg, var(--brand-deep), var(--brand-blue), var(--brand-cyan))!important}.mantine-Tabs-list{gap:.25rem}.mantine-Tabs-tab{border-radius:.75rem .75rem 0 0;font-weight:650}.brand-logo{aspect-ratio:1.486;filter:drop-shadow(0 4px 10px #064a9129);flex:none;line-height:0;display:inline-block;position:relative;overflow:hidden}.brand-logo>img{-webkit-user-select:none;user-select:none;width:208.34%;max-width:none;height:auto;position:absolute;top:-101.2%;left:-60.4%}[data-mantine-color-scheme=dark] .brand-logo{filter:drop-shadow(0 0 7px #8edcf457)}.brand-wordmark{color:var(--brand-ink);letter-spacing:-.035em;font-weight:800}[data-mantine-color-scheme=dark] .brand-wordmark{color:var(--mantine-color-dark-0)}.brand-loading-screen,.brand-loading-inline{place-items:center;display:grid;overflow:hidden}.brand-loading-screen{background:radial-gradient(circle at 50% 34%,#08acd829,#0000 18rem),linear-gradient(145deg,#f5fafff5,#e8f7fff5);min-height:100dvh;padding:2rem}[data-mantine-color-scheme=dark] .brand-loading-screen{background:radial-gradient(circle at 50% 34%,#08acd82e,#0000 19rem),linear-gradient(145deg,#071524,#0a2238)}.brand-loading-inline{min-height:15rem;padding:2rem 1rem}.brand-loading-content{z-index:1;position:relative}.brand-loading-logo-wrap{filter:drop-shadow(0 15px 24px #064a912b);animation:2.2s ease-in-out infinite brand-float}.brand-progress-track{background:#167fca1f;border-radius:999px;width:min(16rem,70vw);height:.35rem;overflow:hidden}.brand-progress-indicator{border-radius:inherit;background:linear-gradient(90deg, var(--brand-deep), var(--brand-cyan), var(--brand-sky));width:46%;height:100%;animation:1.35s cubic-bezier(.65,0,.35,1) infinite brand-progress;box-shadow:0 0 16px #08acd861}.skeleton-surface{box-shadow:var(--app-surface-shadow)}@keyframes brand-progress{0%{transform:translate(-115%)}to{transform:translate(250%)}}@keyframes brand-float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.brand-loading-logo-wrap,.brand-progress-indicator{animation:none}.brand-progress-indicator{transform:translate(58%)}}@supports (height:100dvh){body,#root{min-height:100dvh}}@media (width<=48em){input,select,textarea{font-size:16px}.mantine-Modal-content,.mantine-Drawer-content{max-height:calc(100dvh - 16px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.mantine-Paper-root{box-shadow:none}}:root{--anim-fast:.15s;--anim-mid:.22s;--anim-slow:.35s;--ease-spring:cubic-bezier(.22, 1, .36, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes shimmerSlide{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulseGlow{0%,to{opacity:.6}50%{opacity:1}}.stagger-0{animation:fadeInUp var(--anim-slow) var(--ease-spring) 0s both}.stagger-1{animation:fadeInUp var(--anim-slow) var(--ease-spring) 40ms both}.stagger-2{animation:fadeInUp var(--anim-slow) var(--ease-spring) 80ms both}.stagger-3{animation:fadeInUp var(--anim-slow) var(--ease-spring) .12s both}.stagger-4{animation:fadeInUp var(--anim-slow) var(--ease-spring) .16s both}.stagger-5{animation:fadeInUp var(--anim-slow) var(--ease-spring) .2s both}.section-enter{animation:fadeInUp var(--anim-slow) var(--ease-spring) both}.scale-enter{animation:scaleIn var(--anim-mid) var(--ease-spring) both}.mantine-Button-root:active{transition:transform 80ms!important;transform:scale(.97)!important}.mantine-ActionIcon-root:active{transition:transform 80ms!important;transform:scale(.93)!important}.mantine-UnstyledButton-root:active{transition:transform 80ms!important;transform:scale(.97)!important}.mantine-Chip-root:active{transition:transform 80ms;transform:scale(.96)}.mantine-NavLink-root{transition:background-color var(--anim-fast) ease, color var(--anim-fast) ease!important}.mantine-Skeleton-root:after{background:linear-gradient(90deg,#0000 0%,#ffffff2e 50%,#0000 100%) 0 0/200% 100%;animation:1.4s ease-in-out infinite shimmerSlide}[data-mantine-color-scheme=dark] .mantine-Skeleton-root:after{background:linear-gradient(90deg,#0000 0%,#ffffff0f 50%,#0000 100%) 0 0/200% 100%;animation:1.4s ease-in-out infinite shimmerSlide}.mantine-Tabs-list::-webkit-scrollbar{display:none}.recharts-reference-area-rect{animation:2s ease-in-out infinite pulseGlow}.recharts-tooltip-wrapper{transition:opacity 80ms ease, transform 80ms var(--ease-spring)!important}.hover-card{transition:transform var(--anim-mid) var(--ease-spring), box-shadow var(--anim-mid) ease, border-color var(--anim-mid) ease}.hover-card:hover{transform:translateY(-3px)}.hover-card:active{transform:translateY(-1px)scale(.99)}.activity-map{isolation:isolate;background:radial-gradient(circle at 18% 18%,#97aed642,#0000 26%),radial-gradient(circle at 82% 20%,#22c55e24,#0000 24%),linear-gradient(#f9f3e2fa 0%,#ffffffeb 100%);position:relative}.activity-map:after{content:"";z-index:450;pointer-events:none;background:linear-gradient(#1f536b14 0%,#0000 28% 72%,#f36e2614 100%),radial-gradient(circle at 100% 0,#97aed61f,#0000 30%);position:absolute;inset:0}.activity-map--dark{background:radial-gradient(circle at 18% 18%,#97aed62e,#0000 28%),radial-gradient(circle at 82% 20%,#22c55e1a,#0000 24%),linear-gradient(#0d1726 0%,#101d30 100%)}.activity-map--dark:after{background:linear-gradient(#1f536b2e 0%,#0000 26% 74%,#f36e261f 100%),radial-gradient(circle at 100% 0,#97aed61a,#0000 28%)}.activity-map .leaflet-pane,.activity-map .leaflet-top,.activity-map .leaflet-bottom,.activity-map .leaflet-control-container{z-index:500}.activity-map .leaflet-tile{transition:filter .24s,opacity .32s,transform .32s}.activity-map--light .leaflet-tile{filter:saturate(.9)contrast(1.04)brightness(1.02)}.activity-map--dark .leaflet-tile{filter:saturate(1.02)contrast(1.02)brightness()}.activity-map .leaflet-control-zoom{border:1px solid #1f536b29;border-radius:14px;overflow:hidden;box-shadow:0 14px 30px #1f536b29}.activity-map .leaflet-control-zoom a{color:#1f536b;background:#f9f3e2eb;border:0;width:34px;height:34px;line-height:34px;transition:background-color .18s,color .18s}.activity-map--dark .leaflet-control-zoom{border-color:#97aed638;box-shadow:0 16px 32px #0000004d}.activity-map--dark .leaflet-control-zoom a{color:#f9f3e2;background:#101d30e0}.activity-map .leaflet-control-zoom a:hover,.activity-map .leaflet-control-zoom a:focus{color:#fff;background:#f36e26}.activity-map .leaflet-tooltip{color:#222;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f9f3e2f0;border:1px solid #1f536b24;border-radius:14px;box-shadow:0 14px 30px #1f536b29}.activity-map--dark .leaflet-tooltip{color:#f9f3e2;background:#101d30eb;border-color:#97aed638;box-shadow:0 16px 32px #00000052}.activity-map .leaflet-tooltip-top:before{border-top-color:#f9f3e2f0}.activity-map--dark .leaflet-tooltip-top:before{border-top-color:#101d30eb}.activity-map__route-halo{stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 10px 18px #1f536b24)}.activity-map__route-line,.activity-map__heat-segment,.activity-map__route-selection{stroke-linecap:round;stroke-linejoin:round}.activity-map__route-line{filter:drop-shadow(0 8px 16px #1f536b33)}.activity-map__route-line--animated{stroke-dasharray:10 12;animation:10s linear infinite activity-map-route-flow}.activity-map__route-selection{filter:drop-shadow(0 8px 16px #22c55e4d)}.activity-map__focus-marker{transform-origin:50%;animation:1.8s ease-in-out infinite activity-map-marker-pulse}@keyframes activity-map-route-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-88px}}@keyframes activity-map-marker-pulse{0%,to{filter:drop-shadow(0 0 #f36e2633);transform:scale(1)}50%{filter:drop-shadow(0 0 10px #f36e2647);transform:scale(1.08)}}
