@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Shadows+Into+Light&display=swap);*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%}html{height:100dvh}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f9fafb;color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;min-height:100%;min-height:100dvh;overflow:hidden;overscroll-behavior-y:none;position:relative}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button,input,textarea{font-family:inherit}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}:focus{outline:2px solid #0000;outline-offset:2px}:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.navbar-desktop{background:#fff;border-bottom:1px solid #e5e7eb;display:none;left:0;position:fixed;right:0;top:0;z-index:50}.navbar-container{margin:0 auto;max-width:1200px;padding:0 1rem;width:100%}.navbar-content{height:60px;position:relative}.navbar-content,.navbar-logo{align-items:center;display:flex}.navbar-logo{flex:1 1;gap:12px;text-decoration:none}.navbar-logo-img{height:40px;object-fit:contain;width:40px}.navbar-logo-text{color:#111827;font-size:1.5rem;font-weight:700}.navbar-center{align-items:center;display:flex;justify-content:center;left:50%;position:absolute;transform:translateX(-50%)}.nav-create-button{align-items:center;background:#111827;border-radius:8px;color:#fff;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;text-decoration:none;transition:all .2s ease}.nav-create-button:hover{background:#1f2937;transform:translateY(-1px)}.create-button-text{white-space:nowrap}.navbar-icons{align-items:center;display:flex;flex:1 1;gap:1.5rem;justify-content:flex-end}.profile-diamond-pill{align-items:center;background:#0000;border-radius:999px;cursor:pointer;display:flex;gap:0;padding:4px 12px 4px 4px;transition:all .2s}.profile-diamond-pill:hover{background:#f3f4f6}.pill-avatar-link{align-items:center;display:flex;line-height:0;text-decoration:none}.pill-avatar{border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0000001a;height:32px;object-fit:cover;width:32px}.pill-credits{align-items:center;border-radius:12px;cursor:pointer;display:flex;gap:4px;margin-left:8px;padding:4px 8px;transition:background .2s}.pill-credits:hover{background:#3b82f61a}.pill-diamond-icon{color:#3b82f6;flex-shrink:0}.pill-credit-count{color:#111827;font-size:15px;font-weight:700;min-width:20px;text-align:center}.profile-diamond-pill.animate{animation:pillPulse .6s ease-in-out}@keyframes pillPulse{0%,to{transform:scale(1)}50%{background:#dbeafe;transform:scale(1.1)}}.nav-icon{align-items:center;border-radius:8px;color:#6b7280;display:flex;justify-content:center;padding:8px;text-decoration:none;transition:all .2s ease}.nav-icon:hover{background:#f3f4f6;color:#111827}.nav-icon.active{color:#111827}.nav-login-button{align-items:center;background:#0000;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.nav-login-button:hover{border-color:#111827;color:#111827;transform:translateY(-1px)}.nav-avatar{padding:2px}.navbar-user-avatar{border:2px solid #e5e7eb;border-radius:50%;height:32px;object-fit:cover;transition:all .2s ease;width:32px}.nav-avatar:hover .navbar-user-avatar{border-color:#111827;transform:scale(1.05)}.nav-avatar.active .navbar-user-avatar{border-color:#111827}.navbar-mobile-header{background:#fff;border-bottom:1px solid #e5e7eb;box-sizing:border-box;display:none;height:56px;left:0;min-height:calc(56px + env(safe-area-inset-top));padding:calc(12px + env(safe-area-inset-top)) 16px 12px;position:fixed;right:0;top:0;z-index:50}.navbar-mobile-logo{align-items:center;display:flex;gap:12px;height:100%;justify-content:center;text-decoration:none}.navbar-mobile-logo-img{height:32px;object-fit:contain;width:auto}.navbar-mobile-logo-text{color:#111827;font-size:1.25rem;font-weight:700}.navbar-mobile{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#fff;border-top:1px solid #e5e7eb;bottom:0;box-sizing:border-box;display:flex;left:0;min-height:56px;padding-bottom:env(safe-area-inset-bottom);padding-top:4px;perspective:1000;position:fixed;right:0;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform;z-index:50}.navbar-mobile-content{align-items:center;display:flex;flex-direction:column;gap:4px;padding:4px 16px;width:100%}.navbar-mobile-items{align-items:center;display:flex;flex-wrap:nowrap;gap:2px;justify-content:space-around;width:100%}.nav-icon-mobile{align-items:center;color:#6b7280;display:flex;flex-direction:column;justify-content:center;padding:8px 12px;text-decoration:none;transition:all .2s ease}.nav-icon-mobile-with-text{align-items:center;flex-direction:row!important;gap:6px;justify-content:center}.nav-icon-text{color:inherit;font-size:12px;font-weight:600;white-space:nowrap}.navbar-mobile-items>.nav-icon-mobile:first-child{box-sizing:border-box;max-width:100px;min-width:80.36px;padding:8px 6px;width:auto}.navbar-mobile-items>.nav-icon-mobile:nth-child(2),.navbar-mobile-items>.nav-icon-mobile:nth-child(4){padding:8px}.nav-icon-mobile.active{color:#111827}.nav-icon-mobile.create-btn{align-items:center;background:#111827;border-radius:8px;box-sizing:border-box;color:#fff;display:flex;justify-content:center;min-width:auto;padding:8px 12px}.nav-avatar-mobile{padding:4px}.mobile-user-avatar{border:2px solid #e5e7eb;border-radius:50%;height:24px;object-fit:cover;transition:all .2s ease;width:24px}.nav-avatar-mobile.active .mobile-user-avatar,.nav-avatar-mobile:hover .mobile-user-avatar{border-color:#111827}.profile-diamond-mobile{align-items:center!important;background:#0000;border-radius:999px;display:flex!important;flex-direction:row!important;gap:4px!important;padding:4px!important;transition:background .2s}.navbar-mobile-items>.nav-icon-mobile.profile-diamond-mobile{align-items:center;box-sizing:border-box;display:flex;justify-content:center;max-width:80.36px;min-width:80.36px;padding:4px!important;width:80.36px}.profile-diamond-mobile:active{background:#f3f4f6}.mobile-avatar-wrapper{align-items:center;display:flex;gap:6px;text-decoration:none}.mobile-diamond-badge{align-items:center;color:#111827;display:flex;font-size:12px;font-weight:700;gap:3px;line-height:1}.mobile-diamond-badge svg{color:#3b82f6;flex-shrink:0}.mobile-diamond-badge.animate{animation:badgePulse .6s ease-in-out}@keyframes badgePulse{0%,to{transform:scale(1)}50%{color:#3b82f6;transform:scale(1.15)}}.navbar-mobile-items-logged-out{justify-content:center;width:100%}.mobile-login-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;height:48px;justify-content:center;padding:12px 24px;transition:all .2s ease;white-space:nowrap}.mobile-login-btn:hover{border-color:#111827;color:#111827;transform:translateY(-2px)}.create-text-mobile{display:inline}@media (max-width:380px){.create-text-mobile{display:none}}@media (min-width:768px){.navbar-desktop{display:block}.navbar-mobile,.navbar-mobile-header{display:none}}@media (max-width:767px){.navbar-desktop{display:none}.navbar-mobile{display:flex}.navbar-mobile-header{align-items:center;display:flex;justify-content:center}.main-content{padding-bottom:calc(56px + env(safe-area-inset-bottom));padding-top:calc(56px + env(safe-area-inset-top))}}.impersonation-bar{animation:slideDown .3s ease-out;background:linear-gradient(135deg,#ff6b6b,#ff8c94);box-shadow:0 2px 8px #0003;color:#fff;left:0;padding:8px 20px;position:fixed;right:0;top:0;z-index:10000}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.impersonation-content{justify-content:space-between;margin:0 auto;max-width:1200px}.impersonation-content,.impersonation-info{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.impersonation-icon{font-size:20px}.impersonation-text{font-size:14px}.impersonation-text strong{font-weight:600;text-decoration:underline}.impersonation-warning{font-size:12px;font-style:italic;opacity:.9}.end-impersonation-btn{background:#fff;border:none;border-radius:20px;color:#ff6b6b;cursor:pointer;font-size:14px;font-weight:600;padding:6px 16px;transition:all .2s ease}.end-impersonation-btn:hover:not(:disabled){background:#f0f0f0;transform:scale(1.05)}.end-impersonation-btn:disabled{cursor:not-allowed;opacity:.6}body.impersonating{padding-top:50px}@media (max-width:768px){.impersonation-bar{padding:10px 15px}.impersonation-content{justify-content:center;text-align:center}.impersonation-info{justify-content:center;width:100%}.impersonation-text,.impersonation-warning{font-size:12px}.end-impersonation-btn{max-width:200px;width:100%}}.actions-bar{background:#fff;border-bottom:1px solid #e5e7eb;padding:20px 0}.actions-container{align-items:center;display:flex;justify-content:space-around;margin:0 auto;max-width:600px;padding:0 20px}.action-button{align-items:center;border:none;display:flex;flex-direction:column;gap:8px;padding:0;text-decoration:none}.action-button,.action-button:hover{background:none!important;border-radius:0!important}.action-icon-circle{align-items:center;background:#f3f4f6;border-radius:50%;color:#6b7280;display:flex;height:64px;justify-content:center;transition:all .2s ease;width:64px}.action-button:hover .action-icon-circle{background:#374151;color:#fff}.action-label{color:#6b7280;font-size:12px;font-weight:600;text-align:center;transition:all .2s ease}.action-button:hover .action-label{color:#111827}.action-button-disabled{cursor:not-allowed;opacity:.6;position:relative}.action-button-disabled:hover{background:none!important}.action-button-disabled:hover .action-icon-circle{background:#f3f4f6;color:#6b7280}.action-button-disabled:hover .action-label{color:#6b7280}.coming-soon-badge{left:50%;padding:3px 6px;top:-4px;transform:translateX(-50%)!important;-webkit-transform:translateX(-50%)!important;width:-webkit-max-content;width:max-content}@media (max-width:640px){.actions-bar{padding:16px 0}.action-icon-circle{height:56px;width:56px}.action-label{font-size:11px}.coming-soon-badge{font-size:8px;left:50%;padding:2px 5px;top:-2px;transform:translateX(-50%)!important;-webkit-transform:translateX(-50%)!important}}.post-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;max-width:470px;overflow:hidden;width:100%}.post-media.is-loading{aspect-ratio:4/5}.post-media.is-loading.landscape{aspect-ratio:5/4}.post-image{opacity:1;transition:opacity .2s ease}.post-image.loading{opacity:0}.post-image.loaded{opacity:1}.post-image-loader{align-items:center;background:#f3f4f6f2;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:10}.post-image-spinner{animation:post-image-spin .8s linear infinite;border:3px solid #d1d5dbcc;border-radius:50%;border-top-color:#6366f1;height:36px;width:36px}@keyframes post-image-spin{to{transform:rotate(1turn)}}.post-header-bottom{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.actions-right{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.action-buttons{gap:16px}.action-btn,.action-buttons{margin:0!important;padding:0!important}.action-btn{align-items:center;background:none;border:none;border-radius:4px;color:#111827;cursor:pointer;display:flex;height:24px;justify-content:center;line-height:1;min-height:24px;transition:all .2s ease}.action-btn svg{display:block;margin:0;padding:0}.action-btn:hover{transform:scale(1.1)}.likes-count{font-size:14px}.likes-count span{color:#6b7280;font-weight:500}.post-caption{margin-bottom:8px}.post-footer{align-items:flex-start;flex-direction:column;gap:12px}.post-footer-bottom{align-items:center;display:flex;gap:12px;justify-content:space-between;width:100%}.post-badges{width:100%}.post-style{align-items:center;display:flex;flex-shrink:0;gap:8px}.post-style-logo{flex-shrink:0;height:26px;object-fit:contain;width:26px}.post-style-name{color:#374151;font-size:14px;font-weight:600}@media (max-width:640px){.post-card{border-bottom:8px solid #f3f4f6;border-left:none;border-radius:0;border-right:none;margin-bottom:0}.post-footer,.post-footer-bottom{gap:8px}.post-style-logo{height:26px;width:26px}.post-style-name{font-size:14px}}.footer{background-color:#fff;border-top:1px solid #e5e7eb;color:#6b7280;padding:24px 0}.footer-content{align-items:center;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 32px}.footer-copyright{color:#6b7280;font-size:14px;margin:0}.footer-legal-links{align-items:center;display:flex;gap:24px}.footer-legal-links a{color:#6b7280;font-size:14px;text-decoration:none;transition:color .2s ease}.footer-legal-links a:hover{color:#111827;text-decoration:underline}.strava-attribution{align-items:center;display:flex}.strava-logo{height:20px;opacity:.8;transition:opacity .2s;width:auto}.strava-logo:hover{opacity:1}@media (max-width:768px){.footer-content{flex-direction:column;padding:0 20px;text-align:center}.footer-legal-links{flex-direction:column;gap:12px}}@media (max-width:480px){.footer-content{padding:0 16px}.footer-copyright,.footer-legal-links a{font-size:12px}}.email-reward-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;transition:all .2s}.email-reward-card.claimed{background:#f9fafb;border-color:#d1d5db;opacity:.8}.email-reward-card.claimed .reward-content h4{color:#374151}.email-reward-card.claimed .reward-content p{color:#6b7280}.email-reward-card.claimed .reward-input{background:#f3f4f6;border-color:#d1d5db;color:#6b7280}.email-reward-card.claimed .reward-button{background:#9ca3af;color:#6b7280;cursor:not-allowed}.email-reward-card.claimed .reward-button:hover{background:#9ca3af;box-shadow:none;transform:none}.reward-form{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.reward-input{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;flex:1 1;font-size:14px;height:43px;line-height:1.5;min-width:200px;padding:10px 14px;transition:border-color .2s}.reward-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.reward-input:disabled{background:#f9fafb;cursor:not-allowed}.reward-button{align-items:center;box-sizing:border-box;display:flex;height:43px;justify-content:center;line-height:1}.reward-button:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.reward-error{align-items:center;color:#dc2626;display:flex;font-size:13px;gap:6px;line-height:1.4;margin-top:8px;width:100%}@media (max-width:768px){.reward-form{flex-direction:column}.reward-input{min-width:0;min-width:auto;width:100%}.reward-form .reward-button{width:100%}}.home-page{background:#f9fafb;min-height:100vh;padding-bottom:80px;padding-top:60px}.home-page.login-view{align-items:center;background:#fff;display:flex;justify-content:center;padding:0}.login-container{max-width:400px;padding:20px;width:100%}.login-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:40px 32px}.login-header-section{margin-bottom:32px;text-align:center}.login-title{color:#111827;font-size:1.75rem;font-weight:700;margin:0 0 12px}.login-subtitle{color:#6b7280;font-size:1rem;margin:0}.login-actions{margin-bottom:24px}.strava-connect-button{background:#0000;justify-content:center;padding:0;transition:opacity .2s;width:100%}.strava-connect-button:hover:not(:disabled){opacity:.9}.strava-connect-button:disabled{cursor:not-allowed;opacity:.6}.login-footer{border-top:1px solid #e5e7eb;padding-top:24px;text-align:center}.login-footer p{color:#9ca3af;font-size:.875rem;margin:0}.login-banner{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000d;color:#111827;display:block;padding:24px 20px;text-align:center}.login-banner p{color:#374151;font-size:16px;font-weight:600;margin:0 0 16px}.banner-login-button{align-items:center;background:#0000;border:none;cursor:pointer;display:inline-flex;justify-content:center;padding:0;transition:all .2s}.banner-login-button:hover{opacity:.9;transform:translateY(-1px)}@media (min-width:768px){.login-banner{display:none}}.feed-container{margin:0 auto;max-width:470px;padding:1rem 0}.feed-reward-card-wrapper{margin-bottom:1.5rem}.post-wrapper{transition:all .3s ease}.post-wrapper.highlighted{animation:highlight-pulse 2s ease}@keyframes highlight-pulse{0%,to{box-shadow:none;transform:scale(1)}50%{box-shadow:0 0 20px #fc4c024d;transform:scale(1.02)}}@media (min-width:768px){.home-page{padding-bottom:0}.feed-container{padding:2rem 0}}@media (max-width:640px){.home-page{background:#fff;padding-top:0}.feed-container{padding:0}.feed-reward-card-wrapper{border-radius:0;margin-bottom:0}.feed-reward-card-wrapper .email-reward-card,.feed-reward-card-wrapper .reward-card{border-bottom:8px solid #f3f4f6;border-left:none;border-radius:0;border-right:none;margin-bottom:0}}.search-page{background:#f9fafb;min-height:100vh;padding-bottom:80px;padding-top:60px}.search-header{background:#fff;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:16px;position:-webkit-sticky;position:sticky;top:60px;z-index:10}.search-bar-container{align-items:center;display:flex;flex:1 1;position:relative}.search-bar-container .search-icon{color:#6b7280;left:14px;pointer-events:none;position:absolute;z-index:1}.search-page .search-input{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-size:16px;outline:none;padding:12px 44px 12px 46px!important;transition:all .2s;width:100%}.search-input:focus{background:#fff;border-color:#3b82f6}.clear-search{background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;padding:4px;position:absolute;right:12px;transition:all .2s}.clear-search:hover{background:#f3f4f6}.filter-toggle{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;padding:12px;transition:all .2s}.filter-toggle.active,.filter-toggle:hover{background:#111827;border-color:#111827;color:#fff}.filters-panel{align-items:end;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:16px;padding:20px}.filter-group{min-width:200px}.filter-group select{border:1px solid #e5e7eb;outline:none}.filter-group select:focus{border-color:#3b82f6}.clear-filters-btn{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s}.clear-filters-btn:hover{background:#e5e7eb}.results-info{background:#fff;border-bottom:1px solid #e5e7eb;padding:12px 20px;text-align:center}.results-info p{color:#6b7280;font-size:14px;font-weight:500;margin:0}.maps-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(3,1fr)}.map-card{aspect-ratio:1;background:#000;cursor:pointer;overflow:hidden;position:relative}.map-card img{height:100%;object-fit:cover;transition:opacity .2s;width:100%}.map-card:hover img{opacity:.9}.map-overlay{align-items:center;background:#0000004d;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity .2s}.map-card:hover .map-overlay{opacity:1}.map-stats{align-items:center;color:#fff;display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:8px;text-align:center}@media (min-width:1024px){.maps-grid{grid-template-columns:repeat(4,1fr)}}.empty-state{margin:0 auto;max-width:400px}.empty-state p{color:#6b7280;margin-bottom:24px}.reset-btn{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.reset-btn:hover{background:#2563eb}.search-loading{color:#6b7280;padding:100px 20px;text-align:center}@media (max-width:768px){.search-page{background:#fff;padding-top:0}.search-header{top:0}.filters-panel{flex-direction:column}.filter-group{min-width:100%;width:100%}}.mapboxgl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translateX(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translateX(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg opacity='.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg opacity='.9' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.create-page{background:#f9fafb;min-height:100vh;padding-bottom:80px;padding-top:60px}.create-container{margin:0 auto;max-width:600px;padding:1.5rem}.create-title{color:#111827;font-size:24px;font-weight:700;margin-bottom:2rem;text-align:center}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-title{color:#374151;font-size:16px;font-weight:600;margin:0}.calendar-icon-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.calendar-icon-button:hover{border-color:#3b82f6;color:#3b82f6}.loading-state{color:#6b7280;padding:2rem}.activity-selection-section{margin-bottom:2rem}.activities-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:12px}@media (min-width:768px){.activities-row{grid-template-columns:repeat(3,1fr);margin:0 auto 16px;max-width:546px}.activities-row.single-activity-view{grid-template-columns:1fr;max-width:500px}.activities-row.single-activity-view .activity-card{align-items:center;flex-direction:row;max-width:500px;width:100%}.activities-row.single-activity-view .activity-map-preview{flex-shrink:0;height:220px;width:220px}.activities-row.single-activity-view .activity-info{flex:1 1;padding:20px}.activities-row.single-activity-view .activity-name{font-size:16px;margin-bottom:8px;white-space:normal}.activities-row.single-activity-view .activity-stats{font-size:14px}.activities-row.single-activity-view .activity-date{font-size:12px}}.no-activities-message{color:#6b7280;padding:60px 20px}.error-state,.no-activities-message{align-items:center;display:flex;flex-direction:column;justify-content:center;text-align:center}.error-state{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#dc2626;margin:20px 0;padding:40px 20px}.error-state p{font-size:14px;margin-bottom:16px}.retry-button{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.retry-button:hover{background:#2563eb;transform:translateY(-1px)}.activities-navigation{gap:16px;padding:8px 0}.activities-navigation,.activity-nav-btn{align-items:center;display:flex;justify-content:center}.activity-nav-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;height:40px;transition:all .2s;width:40px}.activity-nav-btn:hover:not(:disabled){background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.activity-nav-btn:disabled{cursor:not-allowed;opacity:.2}.page-indicator{color:#6b7280;font-size:14px;font-weight:600;min-width:60px;text-align:center}.activity-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .2s}.activity-card:hover:not(.disabled){border-color:#3b82f6;transform:translateY(-2px)}.activity-card.selected{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.activity-card.single{cursor:pointer}.activity-card.disabled{cursor:not-allowed;opacity:.6}.activity-card.disabled:hover{border-color:#e5e7eb;transform:none}.activity-card.no-gps .activity-info{opacity:.8}.activity-map-preview{aspect-ratio:1;background:#f3f4f6;flex-shrink:0;width:100%}.activity-info{padding:8px 12px}.activity-date{color:#3b82f6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;font-size:11px;font-weight:600;margin:0 0 4px;text-transform:uppercase}.activity-name{font-size:13px;margin:0 0 4px}.activity-stats{color:#6b7280;font-size:11px;margin:0}.selection-check{background:#3b82f6;border-radius:50%;color:#fff;font-size:14px;font-weight:700;height:24px;position:absolute;right:8px;top:8px;width:24px}.calendar-modal-overlay,.selection-check{align-items:center;display:flex;justify-content:center}.calendar-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.calendar-modal{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a;max-width:400px;width:100%}.calendar-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px}.calendar-header h3{color:#111827;flex:1 1;font-size:16px;font-weight:700;margin:0;text-align:center}.month-nav-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;padding:4px;transition:all .2s}.month-nav-btn:hover:not(:disabled){background:#f3f4f6;color:#111827}.month-nav-btn:disabled{cursor:not-allowed;opacity:.3}.calendar-grid-container{padding:20px}.weekday-labels{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.weekday-label{color:#6b7280;font-size:12px;font-weight:600;padding:8px 0;text-align:center}.calendar-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.calendar-day{align-items:center;aspect-ratio:1;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:400;justify-content:center;transition:all .2s}.calendar-day.empty{border:none;cursor:default}.calendar-day.has-activity{border-color:#3b82f6;color:#3b82f6;font-weight:700}.calendar-day.selected{background:#3b82f6;border-color:#3b82f6;color:#fff}.calendar-day.today{background:#eff6ff}.calendar-day:hover:not(:disabled):not(.empty){background:#f3f4f6;transform:scale(1.05)}.calendar-day:disabled{cursor:not-allowed;opacity:.3}.calendar-footer{border-top:1px solid #e5e7eb;display:flex;justify-content:center;padding:16px 20px}.close-calendar-btn{background:#f3f4f6;border:none;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.close-calendar-btn:hover{background:#e5e7eb}.style-selection-section{margin-bottom:2rem}.styles-grid-main{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.style-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:16px;position:relative;transition:all .2s}.style-option:hover{border-color:#3b82f6;transform:translateY(-2px)}.style-option.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.style-logo{align-items:center;display:flex;height:80px;justify-content:center;width:80px}.style-logo img{max-height:100%;max-width:100%;object-fit:contain}.style-label{word-wrap:break-word;color:#111827;font-size:13px;font-weight:600;margin:0;text-align:center}.format-selection-section{margin-bottom:2rem}.format-toggle{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.format-option{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px;position:relative;transition:all .2s}.format-option:hover{border-color:#3b82f6;transform:translateY(-2px)}.format-option.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.format-option svg{color:#374151}.format-option.selected svg{color:#3b82f6}.format-option span{color:#374151;font-size:14px;font-weight:600}.format-option.selected span{color:#3b82f6}.dimension-selection-section{margin-bottom:2rem}.dimension-options{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.dimension-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;overflow:hidden;position:relative;transition:all .2s}.dimension-card:hover{border-color:#3b82f6;transform:translateY(-2px)}.dimension-card.selected{background:#eff6ff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.dimension-preview{aspect-ratio:4/3;background:#f3f4f6;overflow:hidden;width:100%}.dimension-preview img{height:100%;object-fit:cover;width:100%}.dimension-label{color:#111827;font-size:14px;font-weight:600;margin:0;padding:10px 12px;text-align:center}.preparing-overlay{align-items:center;background:#ffffffe6;bottom:0;color:#6b7280;display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:8px;justify-content:center;left:0;position:absolute;right:0;top:0}.preparing-spinner{animation:spin 1s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:20px;width:20px}.generate-section{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem}.generate-btn{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;transition:all .2s;width:100%}.generate-btn:hover:not(:disabled){background:#2563eb}.generate-btn:disabled{background:#d1d5db;cursor:not-allowed;opacity:.7}.error-message{color:#ef4444;flex-direction:column;justify-content:center;margin-top:12px;text-align:center}.error-message p{align-items:center;display:flex;justify-content:center;line-height:1.5;margin:0 0 8px;min-height:1.5em}.error-message p:last-child{margin-bottom:0}.error-message-link a{color:#3b82f6;font-weight:600;text-decoration:underline;transition:color .2s}.error-message-link a:hover{color:#2563eb}@media (max-width:640px){.create-page{background:#fff;padding-top:0}.create-container{padding:1rem}.activities-row{gap:8px;grid-template-columns:repeat(3,1fr)}.activity-card{font-size:11px}.activity-date{font-size:10px}.activity-name{font-size:11px}.activity-stats{font-size:10px}.activity-info{padding:6px 8px}.selection-check{font-size:12px;height:20px;right:6px;top:6px;width:20px}.calendar-modal{max-width:350px}.styles-grid-main{gap:8px;grid-template-columns:repeat(3,1fr)}.style-option{padding:12px 8px}.style-logo{height:60px;width:60px}.style-emoji{font-size:16px}.style-label{font-size:11px}.dimension-options,.format-toggle{grid-template-columns:repeat(2,1fr)}.format-toggle{gap:8px}.format-option{padding:12px 8px}.format-option svg{height:20px;width:20px}.format-option span{font-size:12px}}.user-badges-page{--badge-size:120px;margin:0 auto;max-width:1400px;min-height:100vh;padding:80px 20px 20px}.page-header{margin-bottom:0;padding:24px;text-align:center}.header-content{flex-direction:column;gap:8px;text-align:center}.header-content h1{color:#000;font-size:2.5rem;margin:0}.header-content p{color:#475467;color:var(--Gray-600,#475467);font-size:1.1rem;margin:0}.badges-summary{display:flex;justify-content:center;margin-bottom:32px}.badges-summary .summary-card{max-width:400px;width:calc(33.33333% - 13.33333px)}.summary-card{align-items:center;background:#fff;background:var(--Base-White,#fff);border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;justify-content:center;padding:24px;text-align:center;transition:transform .2s,box-shadow .2s}.summary-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.summary-card.earned{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.summary-card.total{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.summary-card.progress{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff}.summary-card h3{font-size:2rem;font-weight:700;margin:8px 0;white-space:nowrap}.summary-card p{font-size:.9rem;margin:0}.summary-card.progress p{color:#fff;opacity:.9}.filters-section{display:flex;gap:12px;justify-content:center;margin-bottom:32px;padding:0 20px}.filter-button{background:#f3f4f6;border:2px solid #0000;border-radius:8px;color:#374151;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;max-width:200px;padding:10px 20px;transition:all .2s}.filter-button:hover{background:#e5e7eb}.filter-button.active{background:#3b82f6;border-color:#2563eb;color:#fff}@media (max-width:768px){.filters-section{flex-direction:column;margin-left:auto;margin-right:auto;max-width:600px;padding:0 20px}.filter-button{max-width:100%;width:100%}}.filter-menu{background:#fff;background:var(--Base-White,#fff);border:1px solid #e5e7eb;border:1px solid var(--Gray-200,#e5e7eb);border-radius:12px;box-shadow:0 10px 25px #00000026;left:0;margin-top:8px;max-height:80vh;max-width:400px;min-width:300px;overflow-y:auto;position:absolute;top:100%;z-index:1000}.filter-group{flex-direction:column}.filter-group label{color:var(--Gray-700,#374151);font-size:.9rem}.filter-select{background:#fff;background:var(--Base-White,#fff);border:1px solid #d1d5db;border:1px solid var(--Gray-300,#d1d5db);border-radius:8px;color:#111827;color:var(--Gray-900,#111827);font-size:.9rem;min-width:160px;padding:10px 12px;transition:border-color .2s}.clear-button{background:#f3f4f6;background:var(--Gray-100,#f3f4f6);border:1px solid #d1d5db;border:1px solid var(--Gray-300,#d1d5db);color:#374151;color:var(--Gray-700,#374151);font-size:.9rem;transition:all .2s}.clear-button:hover:not(:disabled){background:#e5e7eb;background:var(--Gray-200,#e5e7eb);border-color:#9ca3af;border-color:var(--Gray-400,#9ca3af)}.clear-button:disabled{cursor:not-allowed;opacity:.5}.filter-menu-header{align-items:center;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--Gray-200,#e5e7eb);display:flex;justify-content:space-between;padding:16px 20px}.filter-menu-header h3{color:#111827;color:var(--Gray-900,#111827);font-size:1.1rem;font-weight:600;margin:0}.close-menu{background:none;border:none;border-radius:4px;color:#6b7280;color:var(--Gray-500,#6b7280);cursor:pointer;font-size:1.5rem;padding:4px;transition:all .2s}.close-menu:hover{background:#f3f4f6;background:var(--Gray-100,#f3f4f6);color:#374151;color:var(--Gray-700,#374151)}.filter-section{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--Gray-100,#f3f4f6);padding:20px}.filter-section:last-child{border-bottom:none}.filter-section h4{color:#374151;color:var(--Gray-700,#374151);font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.filter-category{margin-bottom:20px}.filter-category:last-child{margin-bottom:0}.filter-category-title{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--Gray-200,#e5e7eb);color:#374151;color:var(--Gray-700,#374151);font-size:.875rem;font-weight:600;letter-spacing:.5px;margin:0 0 8px;padding-bottom:4px;padding-left:4px;text-transform:uppercase}.sort-options{display:flex;flex-direction:column;gap:8px}.sort-option{align-items:center!important;border-radius:6px;cursor:pointer;display:flex!important;gap:8px!important;justify-content:flex-start;padding:8px;transition:background .2s;width:100%}.sort-option:hover{background:#f9fafb;background:var(--Gray-50,#f9fafb)}.sort-option input{accent-color:#2563eb;accent-color:var(--Blue-600,#2563eb);height:16px;margin:0;width:16px}.sort-option span{color:#111827!important;color:var(--Gray-900,#111827)!important;display:inline!important;font-size:.9rem!important;font-weight:500!important;line-height:1.4!important;opacity:1!important;visibility:visible!important}.filter-options{display:flex;flex-wrap:wrap;gap:8px}.filter-option{align-items:flex-start;background:#f3f4f6;background:var(--Gray-100,#f3f4f6);border:1px solid #e5e7eb;border:1px solid var(--Gray-200,#e5e7eb);border-radius:8px;color:#111827;color:var(--Gray-900,#111827);cursor:pointer;display:flex;flex-direction:column;font-size:.85rem;gap:2px;min-width:80px;padding:8px 12px;transition:all .2s}.filter-option:hover{background:#e5e7eb;background:var(--Gray-200,#e5e7eb);border-color:#d1d5db;border-color:var(--Gray-300,#d1d5db)}.filter-option.active{background:#6366f1;background:var(--Primary-600,#6366f1);border-color:#6366f1;border-color:var(--Primary-600,#6366f1);color:#fff}.filter-option.general{background:#dcfce7;background:var(--Green-100,#dcfce7);border-color:#bbf7d0;border-color:var(--Green-200,#bbf7d0)}.filter-option.general.active{background:#16a34a;background:var(--Green-600,#16a34a);border-color:#16a34a;border-color:var(--Green-600,#16a34a)}.filter-option.unearned{background:#f9fafb;background:var(--Gray-50,#f9fafb);border-color:#e5e7eb;border-color:var(--Gray-200,#e5e7eb);opacity:.6}.filter-option.unearned:hover{background:#f3f4f6;background:var(--Gray-100,#f3f4f6);border-color:#d1d5db;border-color:var(--Gray-300,#d1d5db);opacity:.8}.filter-label{align-items:center;display:flex;gap:4px}.earned-indicator{color:#16a34a;color:var(--Green-600,#16a34a);font-size:.8rem;font-weight:700}.filter-option.active .earned-indicator{color:#fff}.filter-type{color:inherit;font-size:.7rem;letter-spacing:.3px;opacity:.7;text-transform:uppercase}.loading-state{padding:60px 20px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e5e7eb;border-top:3px solid #6366f1;border:3px solid var(--Gray-200,#e5e7eb);border-radius:50%;border-top-color:var(--Primary-600,#6366f1);height:40px;margin:0 auto 16px;width:40px}.loading-state p{color:#475467;color:var(--Gray-600,#475467);font-size:1.1rem}.empty-state{background:#fff;background:var(--Base-White,#fff);border-radius:16px;box-shadow:0 1px 3px #0000001a;padding:80px 20px;text-align:center}.empty-icon{font-size:4rem;opacity:.6}.empty-state h3{color:#111827;color:var(--Gray-900,#111827);font-size:1.5rem;margin-bottom:8px}.empty-state p{color:#475467;color:var(--Gray-600,#475467);font-size:1.1rem}.cork-board-section{margin-bottom:48px;padding:0}.cork-board-title{color:#111827;color:var(--Gray-900,#111827);font-size:1.8rem;font-weight:700;margin-bottom:20px;text-align:center}.cork-board{background-image:linear-gradient(#ffffff26,#ffffff26),url(/static/media/corkboard_texture_light.c190ba03d038f63ae272.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:12px;box-shadow:inset 0 0 20px #0000001a,0 8px 24px #00000026;overflow:visible;padding:40px 30px;position:relative}.cork-progress{bottom:10px;color:#281e14e6;font-family:Shadows Into Light,cursive,sans-serif;font-size:40px;font-weight:bolder;position:absolute;right:16px;text-shadow:4 4px 4 #fff3;transform:rotate(-2deg);-webkit-user-select:none;user-select:none}.cork-board:before{background:repeating-linear-gradient(45deg,#0000,#0000 10px,#00000005 0,#00000005 20px),repeating-linear-gradient(-45deg,#0000,#0000 10px,#ffffff08 0,#ffffff08 20px);border-radius:12px;content:"";inset:0;pointer-events:none;position:absolute}.cork-board-badges{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;position:relative}.cork-board-badge{cursor:pointer;height:var(--badge-size);position:relative;transform:translate(0) rotate(var(--initial-angle));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(var(--final-angle,var(--initial-angle)));transform-origin:center top;transition:transform .5s ease-out;width:var(--badge-size);will-change:transform}.cork-board-badge.is-hovering{animation:swing 1s linear infinite;z-index:10}.cork-board-badge.is-unhovering{animation:dampedOscillation 1.5s cubic-bezier(.25,.46,.45,.94) forwards;z-index:10}.cork-board-badge.animate-intro{animation:introSwing 2s ease-out forwards;transition:none}@keyframes introSwing{0%{transform:translate(0) rotate(calc(var(--initial-angle)));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--initial-angle)))}10%{transform:translate(0) rotate(calc(var(--initial-angle) + 8deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--initial-angle) + 8deg))}20%{transform:translate(0) rotate(calc(var(--initial-angle) - 8deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--initial-angle) - 8deg))}30%{transform:translate(0) rotate(calc(var(--initial-angle) + 6deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--initial-angle) + 6deg))}40%{transform:translate(0) rotate(calc(var(--initial-angle) - 6deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--initial-angle) - 6deg))}50%{transform:translate(0) rotate(calc(var(--initial-angle) + 4deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--initial-angle) + 4deg))}60%{transform:translate(0) rotate(calc(var(--initial-angle) - 4deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--initial-angle) - 4deg))}70%{transform:translate(0) rotate(calc(var(--initial-angle) + 2deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--initial-angle) + 2deg))}80%{transform:translate(0) rotate(calc(var(--initial-angle) - 2deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--initial-angle) - 2deg))}90%{transform:translate(0) rotate(calc(var(--final-angle) + 1deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) + 1deg))}to{transform:translate(0) rotate(var(--final-angle));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(var(--final-angle))}}@keyframes swing{0%{transform:translate(0) rotate(calc(var(--final-angle)));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle)))}12.5%{transform:translate(0) rotate(calc(var(--final-angle) + 4.24deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) + 4.24deg))}25%{transform:translate(0) rotate(calc(var(--final-angle) + 6deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) + 6deg))}37.5%{transform:translate(0) rotate(calc(var(--final-angle) + 4.24deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) + 4.24deg))}50%{transform:translate(0) rotate(calc(var(--final-angle)));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle)))}62.5%{transform:translate(0) rotate(calc(var(--final-angle) - 4.24deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) - 4.24deg))}75%{transform:translate(0) rotate(calc(var(--final-angle) - 6deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) - 6deg))}87.5%{transform:translate(0) rotate(calc(var(--final-angle) - 4.24deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) - 4.24deg))}to{transform:translate(0) rotate(calc(var(--final-angle)));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle)))}}@keyframes dampedOscillation{0%{transform:translate(0) rotate(calc(var(--final-angle)));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) + var(--current-angle, 0deg)))}10%{transform:translate(0) rotate(calc(var(--final-angle) - 4deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) - 4deg))}20%{transform:translate(0) rotate(calc(var(--final-angle) + 3deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) + 3deg))}30%{transform:translate(0) rotate(calc(var(--final-angle) - 2deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) - 2deg))}40%{transform:translate(0) rotate(calc(var(--final-angle) + 1.5deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) + 1.5deg))}50%{transform:translate(0) rotate(calc(var(--final-angle) - 1deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) - 1deg))}60%{transform:translate(0) rotate(calc(var(--final-angle) + .5deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) + .5deg))}70%{transform:translate(0) rotate(calc(var(--final-angle) - .3deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) - .3deg))}80%{transform:translate(0) rotate(calc(var(--final-angle) + .1deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) + .1deg))}90%{transform:translate(0) rotate(calc(var(--final-angle) - .05deg));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(calc(var(--final-angle) - .05deg))}to{transform:translate(0) rotate(var(--final-angle));transform:translate(var(--offsetX,0),var(--offsetY,0)) rotate(var(--final-angle))}}.push-pin{background:radial-gradient(circle at 30% 30%,#f44,#c00);border-radius:50% 50% 50% 50%/60% 60% 40% 40%;box-shadow:0 2px 4px #0000004d,inset -2px -2px 4px #0003,inset 2px 2px 4px #ffffff4d;height:24px;top:-8px;width:24px;z-index:2}.push-pin,.push-pin:before{left:50%;position:absolute;transform:translateX(-50%)}.push-pin:before{background:linear-gradient(180deg,#888,#666);box-shadow:0 1px 2px #0000004d;content:"";height:20px;top:6px;width:2px;z-index:-1}.cork-badge-image{border-radius:8px;filter:drop-shadow(2px 4px 6px rgba(0,0,0,.2));height:100%;object-fit:contain;width:100%}@media (max-width:768px){.cork-board{padding:30px 20px}.user-badges-page{--badge-size:100px}.cork-board-badges{gap:15px}.cork-progress{bottom:8px;font-size:24px;right:12px}.push-pin{height:20px;top:-6px;width:20px}.push-pin:before{height:18px;top:5px}}@media (max-width:480px){.user-badges-page{--badge-size:80px}.cork-board-badges{gap:12px}.cork-board{padding:24px 16px}.cork-progress{bottom:6px;font-size:20px;right:10px}}.badges-by-style{padding:20px 0}.style-group{margin-bottom:48px}.style-header-card{align-items:center;background:#f9fafb;background:var(--Gray-50,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--Gray-200,#e5e7eb);border-radius:12px;display:flex;flex-direction:column;gap:10px;margin-bottom:16px;padding:16px 20px}.style-logo{height:var(--badge-size);object-fit:contain;width:var(--badge-size)}.style-group-title{color:#111827;color:var(--Gray-900,#111827);font-size:1.4rem;font-weight:700;margin:0;text-align:center}.badge-type-section{margin-bottom:24px;text-align:center}.badge-type-section.location-section{margin-top:32px}.badge-type-title{display:block;font-size:1.2rem;font-weight:600;margin:0 auto 12px}.badge-type-title,.badge-type-title.collapsible{color:#1f2937;color:var(--Gray-800,#1f2937);text-align:center}.badge-type-title.collapsible{align-items:center;appearance:none;-webkit-appearance:none;background:#0000;border:none;border-radius:0;box-shadow:none;cursor:pointer;display:flex;justify-content:center;margin:0 0 12px;outline:none;padding:0;text-decoration:none;transition:color .2s ease;width:100%}.badge-type-title.collapsible:hover{color:#111827;color:var(--Gray-900,#111827)}.badge-type-title.collapsible:focus{box-shadow:none;outline:none}.title-text{align-items:center;display:flex;gap:6px}.badge-count{color:#475467;color:var(--Gray-600,#475467);font-size:.9rem;font-weight:400}.expand-icon{color:#374151;color:var(--Gray-700,#374151);font-size:.9rem;transition:transform .2s ease}.expand-icon.expanded{transform:rotate(90deg)}.badges-grid{flex-wrap:wrap;gap:15px;padding:20px 0}.badge-image-item,.badges-grid{display:flex;justify-content:center}.badge-image-item{align-items:center;background:#0000;border:none;cursor:pointer;height:var(--badge-size);outline:none;position:relative;transition:all .3s ease;width:var(--badge-size)}.badge-image-item:hover{transform:translateY(-4px) scale(1.1)}.badge-image-item.unearned{position:relative}.badge-image-item.unearned:hover{transform:translateY(-2px) scale(1.05)}.unearned-overlay{left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%)}.lock-icon{font-size:1.5rem;opacity:.6}.badge-image{background:#0000;border:none;height:var(--badge-size);object-fit:contain;outline:none;transition:transform .3s ease;width:var(--badge-size)}.modal-overlay{animation:fadeIn .2s ease;background:#00000080}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{animation:slideIn .3s ease;background:var(--Base-White,#fff);border-radius:20px;box-shadow:0 20px 50px #0000004d;font-family:Shadows Into Light,cursive,sans-serif;max-width:600px;position:relative}.modal-close{background:var(--Gray-100,#f3f4f6);z-index:10}.modal-close:hover{background:var(--Gray-200,#e5e7eb)}.modal-header{border:none;box-shadow:none;padding:32px 32px 8px}.modal-badge-image,.modal-header{display:flex;justify-content:center}.modal-badge-image{align-items:center;background:#0000;border-radius:16px;flex-shrink:0;height:300px;position:relative;width:300px}.modal-badge-image img{background:#0000;height:100%;object-fit:contain;width:100%}.modal-info{padding:0 32px 24px;text-align:center}.modal-info h2{color:#111827;color:var(--Gray-900,#111827);font-size:1.8rem;font-weight:700;margin-bottom:8px}.badge-type-large,.modal-info h2{font-family:Shadows Into Light,cursive,sans-serif}.badge-type-large{color:#475467;color:var(--Gray-600,#475467);font-size:1.1rem;font-weight:600;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.badge-requirement-large{background:#f9fafb;background:var(--Gray-50,#f9fafb);border-left:4px solid #6366f1;border-left:4px solid var(--Primary-500,#6366f1);border-radius:8px;color:#374151;color:var(--Gray-700,#374151);font-family:Shadows Into Light,cursive,sans-serif;font-size:1.2rem;font-weight:500;padding:12px 16px}.modal-body{padding:0 32px 32px}.activities-section{padding-top:16px}.activities-section h3{color:#111827;color:var(--Gray-900,#111827);font-family:Shadows Into Light,cursive,sans-serif;font-size:1.4rem;font-weight:600;margin-bottom:16px}.activities-bullet-list{list-style:none;margin:0;padding:0}.activity-bullet-item{align-items:center;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--Gray-100,#f3f4f6);display:flex;font-family:Shadows Into Light,cursive,sans-serif;font-size:1.1rem;justify-content:space-between;padding:8px 0}.activity-bullet-item:last-child{border-bottom:none}.activity-name-link{background:none;border:none;color:#6366f1;color:var(--Primary-600,#6366f1);cursor:pointer;font-family:Shadows Into Light,cursive,sans-serif;font-size:1.1rem;font-weight:600;padding:0;text-align:left;text-decoration:underline;-webkit-text-decoration-color:#0000;text-decoration-color:#0000;transition:all .2s}.activity-name-link:hover{color:#5b21b6;color:var(--Primary-700,#5b21b6);-webkit-text-decoration-color:#5b21b6;text-decoration-color:#5b21b6;-webkit-text-decoration-color:var(--Primary-700,#5b21b6);text-decoration-color:var(--Primary-700,#5b21b6)}.activity-date{color:#475467;color:var(--Gray-600,#475467);font-family:Shadows Into Light,cursive,sans-serif;font-size:1rem;font-weight:400}.earned-details{padding:0}.unearned-details{padding:40px 20px;text-align:center}.challenge-message h3{color:#111827;color:var(--Gray-900,#111827);font-size:1.5rem;font-weight:700;margin-bottom:12px}.challenge-message h3,.challenge-message p{font-family:Shadows Into Light,cursive,sans-serif}.challenge-message p{color:#475467;color:var(--Gray-600,#475467);font-size:1.2rem;line-height:1.6}.collection-modal{max-width:500px}.collection-header{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--Gray-100,#f3f4f6);padding:32px 32px 24px;text-align:center}.collection-header h2{color:#111827;color:var(--Gray-900,#111827);font-size:1.5rem;margin-bottom:8px}.collection-header p{color:#475467;color:var(--Gray-600,#475467);font-size:1rem}.collection-body{padding:24px 32px 32px}.no-sets{padding:40px 20px;text-align:center}.no-sets-icon{font-size:3rem;margin-bottom:16px;opacity:.6}.no-sets h3{color:#111827;color:var(--Gray-900,#111827);font-size:1.3rem;margin-bottom:8px}.no-sets p{color:#475467;color:var(--Gray-600,#475467);font-size:1rem;line-height:1.6}.sets-list{display:flex;flex-direction:column;gap:16px}.set-item{align-items:center;background:#f9fafb;background:var(--Gray-50,#f9fafb);border-left:4px solid #6366f1;border-left:4px solid var(--Primary-500,#6366f1);border-radius:12px;display:flex;padding:16px}.set-icon{font-size:1.5rem;margin-right:16px}.set-info{flex:1 1}.set-info h4{color:#111827;color:var(--Gray-900,#111827);font-size:1.1rem;font-weight:600;margin-bottom:4px}.set-info p{color:#475467;color:var(--Gray-600,#475467);font-size:.9rem;margin:0}.set-count{background:#6366f1;background:var(--Primary-600,#6366f1);border-radius:20px;color:#fff;font-size:.9rem;font-weight:600;min-width:32px;padding:8px 12px;text-align:center}@media (max-width:768px){.user-badges-page{padding:16px}.page-header{flex-direction:column;gap:16px;text-align:center}.header-content h1{font-size:2rem}.badges-summary{gap:16px;grid-template-columns:1fr}.filters-section{flex-direction:column;gap:16px}.badges-grid{gap:16px}.badge-image-item{height:var(--badge-size)}.modal-content{margin:10px;max-height:95vh}.modal-header{flex-direction:column;padding:24px 24px 16px;text-align:center}.modal-body{padding:0 24px 24px}.progress-stats{grid-template-columns:1fr}}@media (max-width:540px){.badges-summary{justify-content:center}.badges-summary .summary-card{min-width:260px;width:min(90%,360px)}}@media (max-width:480px){.badges-grid{gap:12px}.badge-image-item{height:var(--badge-size)}}.profile-page{background:#f9fafb;min-height:100vh;padding-bottom:80px;padding-top:60px}.profile-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:32px 0 0}.profile-header-content{display:flex;gap:32px;margin:0 auto;max-width:760px;padding:0 20px 24px}.profile-avatar{flex-shrink:0}.profile-avatar img{border:3px solid #f3f4f6;border-radius:50%;height:120px;object-fit:cover;width:120px}.profile-info{flex:1 1;gap:16px}.profile-info,.profile-top{display:flex;flex-direction:column}.profile-top{gap:12px}.profile-top-row{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.profile-name-section{display:flex;flex-direction:column;gap:4px}.profile-name-section h1{color:#111827;font-size:1.75rem;font-weight:700;margin:0}.profile-username{color:#6b7280;font-size:1rem;font-weight:400}.profile-actions{display:flex;gap:8px}.btn-secondary{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.btn-icon{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.btn-icon:hover{background:#f9fafb;border-color:#9ca3af}.btn-admin{align-items:center;background:linear-gradient(135deg,#dc2626,#ef4444);border:1px solid #dc2626;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:8px 16px;transition:all .2s;width:100%}.btn-admin:hover{background:linear-gradient(135deg,#b91c1c,#dc2626);border-color:#b91c1c;box-shadow:0 4px 12px #dc26264d;transform:translateY(-1px)}.profile-stats{display:flex;gap:32px}.stat{display:flex;flex-direction:column;gap:2px}.stat-value{color:#111827;font-size:1.25rem;font-weight:700}.stat-label{color:#6b7280;font-size:.875rem}.profile-bio{color:#111827;font-size:.9375rem;line-height:1.5;margin:0}.profile-meta{display:flex;flex-wrap:wrap;gap:16px}.meta-item{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:6px}.profile-tabs{background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:0}.profile-tabs-container{display:flex;gap:0;margin:0 auto;max-width:760px;padding:0 20px;width:100%}.profile-tabs-container .tab{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:16px 24px;position:relative;transition:color .2s}.profile-tabs-container .tab.active,.profile-tabs-container .tab:hover{color:#111827}.profile-tabs-container .tab.active:after{background:#111827;bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.profile-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(3,1fr);margin-top:0}.grid-item{aspect-ratio:1;background:#000;cursor:pointer;overflow:hidden;position:relative}.grid-item img{height:100%;object-fit:cover;transition:opacity .2s;width:100%}.grid-item:hover img{opacity:.9}.private-badge{background:#000000b3;border-radius:6px;color:#fff;padding:6px;right:8px;top:8px;z-index:2}.grid-overlay,.private-badge{align-items:center;display:flex;justify-content:center;position:absolute}.grid-overlay{background:#0000004d;inset:0;opacity:0;transition:opacity .2s}.grid-item:hover .grid-overlay{opacity:1}.grid-stats{align-items:center;color:#fff;display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:8px}@media (min-width:1024px){.profile-grid{grid-template-columns:repeat(4,1fr)}}.profile-empty{margin:0 auto;max-width:760px;padding:80px 20px;text-align:center}.empty-icon{color:#9ca3af;margin-bottom:16px}.profile-empty h3{color:#111827;font-size:1.5rem;margin:0 0 8px}.profile-empty p{color:#6b7280;margin:0 0 24px}.btn-primary{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s}.btn-primary:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-2px)}.profile-loading{padding:100px 20px;text-align:center}.spinner.small{border-width:3px;height:24px;margin:16px auto;width:24px}.load-more-trigger{height:1px;width:100%}.profile-loading p{color:#6b7280;font-size:14px}.profile-not-found{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin:100px auto;max-width:400px;padding:40px;text-align:center}.profile-not-found h2{color:#111827;margin:0 0 8px}.profile-not-found p{color:#6b7280;margin:0 0 24px}.profile-not-found button{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.profile-not-found button:hover{background:#2563eb}@media (max-width:768px){.profile-page{padding-top:0}.profile-header{padding:20px 0 0}.profile-header-content{flex-direction:column;gap:20px;padding:0 16px 20px}.profile-avatar{display:flex;justify-content:center}.profile-avatar img{height:100px;width:100px}.profile-top{align-items:stretch;flex-direction:column}.profile-name-section h1{font-size:1.5rem}.profile-top-row{align-items:stretch;flex-direction:column}.profile-actions{flex-direction:row;justify-content:stretch}.profile-actions .btn-secondary{flex:1 1;justify-content:center}.profile-stats{gap:24px;justify-content:flex-start}.profile-tabs-container{padding:0 16px}.profile-tabs-container .tab{font-size:13px;padding:14px 16px}.profile-empty{padding:60px 16px}.profile-not-found{margin:60px 16px;padding:32px 20px}}.leaderboard-page{background:#f9fafb;min-height:100vh;padding-bottom:80px;padding-top:60px}.news-banner{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;box-shadow:0 2px 8px #0000001a;display:flex;min-height:180px;padding:24px 0;position:relative}.news-banner:before{background:#00000080;content:"";inset:0;position:absolute;z-index:1}.news-content{align-items:center;color:#fff;display:flex;gap:16px;margin:0 auto;max-width:760px;padding:0 20px;position:relative;width:100%;z-index:2}.news-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));flex-shrink:0;font-size:32px}.news-text{flex:1 1;font-size:15px;line-height:1.6;text-shadow:0 2px 4px #00000080}.news-text strong{display:block;font-size:17px;font-weight:700;margin-bottom:4px}.leaderboard-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:24px 0}.header-content{justify-content:space-between;margin:0 auto;max-width:760px;padding:0 20px}.title-section{align-items:center;display:flex;gap:12px}.trophy-icon{color:#fc4c02}.leaderboard-header h1{color:#111827;font-size:1.75rem;font-weight:700;margin:0}.reset-timer{background:#fef3c7;border-radius:20px;color:#92400e;font-size:14px;font-weight:600;padding:10px 20px}.leaderboard-filters{display:flex;gap:16px;margin:24px auto;max-width:760px;padding:0 20px}.filter-group{flex:1 1}.filter-group label{color:#374151;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.filter-group select{background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.filter-group select:hover{border-color:#9ca3af}.filter-group select:focus{border-color:#fc4c02;box-shadow:0 0 0 3px #fc4c021a;outline:none}.leaderboard-content{box-sizing:border-box;margin:0 auto;max-width:760px;padding:0 20px 40px;width:100%}.categories-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr;margin-bottom:32px}.categories-grid,.category-section{box-sizing:border-box;max-width:100%;width:100%}.category-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;overflow:hidden;padding:24px 20px}.category-section h2{align-items:center;color:#111827;display:flex;font-size:1.25rem;font-weight:700;gap:8px;margin:0 0 20px}.category-section h2 svg{color:#fc4c02}.leaderboard-list{flex-direction:column}.leaderboard-item,.leaderboard-list{box-sizing:border-box;display:flex;gap:12px;max-width:100%;width:100%}.leaderboard-item{align-items:center;background:#f9fafb;border-radius:8px;overflow:hidden;padding:12px;transition:all .2s}.leaderboard-item.clickable{cursor:pointer}.leaderboard-item.clickable:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.leaderboard-item.rank-1{background:linear-gradient(135deg,#fef3c7,#fde68a)}.leaderboard-item.rank-2{background:linear-gradient(135deg,#e5e7eb,#d1d5db)}.leaderboard-item.rank-3{background:linear-gradient(135deg,#fdba74,#fb923c)}.activity-emoji{font-size:24px}.activity-emoji,.rank-badge{align-items:center;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.rank-badge{color:#374151;font-size:20px;font-weight:700}.activity-info{flex:1 1;min-width:0}.activity-name{color:#111827;font-size:14px;font-weight:600;margin-bottom:2px}.activity-name,.activity-user{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-user{color:#6b7280;font-size:12px}.username-link{cursor:pointer;transition:color .2s}.username-link:hover{color:#fc4c02;text-decoration:underline}.value{color:#111827;flex-shrink:0;font-size:16px;font-weight:700;min-width:-webkit-fit-content;min-width:fit-content;white-space:nowrap}.user-activity-section{border-top:2px solid #e5e7eb;margin-top:16px;padding-top:16px}.user-rank-item{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #3b82f6}.no-activity-message{background:#f9fafb;border-radius:8px;color:#6b7280;font-size:14px;font-weight:500;padding:20px;text-align:center}.privacy-message{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:32px;text-align:center}.privacy-icon{font-size:48px;margin-bottom:16px}.privacy-message h3{color:#111827;font-size:1.25rem;font-weight:700;margin:0 0 8px}.privacy-message p{color:#6b7280;line-height:1.5;margin:0 0 24px}.settings-button{background:#fc4c02;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s}.settings-button:hover{background:#e04402;box-shadow:0 4px 12px #fc4c024d;transform:translateY(-2px)}.login-prompt{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:48px 32px;text-align:center}.login-prompt svg{color:#fc4c02;margin-bottom:16px}.login-prompt h3{color:#111827;font-size:1.25rem;font-weight:700;margin:0 0 8px}.login-prompt p{color:#6b7280;margin:0}.loading-state{padding:80px 20px;text-align:center}.spinner{border-top-color:#fc4c02}.loading-state p{color:#6b7280;font-size:14px}@media (max-width:768px){.leaderboard-page{padding-top:0}.news-banner{min-height:150px;padding:16px 0}.news-content{padding:0 12px}.news-icon{font-size:24px}.news-text{font-size:13px}.news-text strong{font-size:15px}.leaderboard-header{padding:16px 0}.header-content{padding:0 12px}.leaderboard-header h1{font-size:1.5rem}.reset-timer{font-size:12px;padding:6px 12px}.leaderboard-filters{flex-direction:column;margin:16px auto;padding:0 12px}.filter-group{width:100%}.leaderboard-content{padding:0 12px 40px}.category-section,.leaderboard-content{box-sizing:border-box;max-width:100%;width:100%}.category-section{padding:16px}.category-section h2{font-size:1.1rem}.leaderboard-item{box-sizing:border-box;gap:8px;max-width:100%;padding:10px;width:100%}.rank-badge{font-size:18px;height:28px;width:28px}.activity-emoji{font-size:20px;height:28px;width:28px}.activity-name{font-size:13px}.activity-user{font-size:11px}.value{font-size:14px}}.post-detail-page{background:#f9fafb;min-height:100vh;padding-bottom:80px;padding-top:60px}.post-detail-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:12px 0;position:-webkit-sticky;position:sticky;top:60px;z-index:10}.back-button{max-width:470px}.post-detail-content{margin:0 auto;max-width:470px;padding:1.5rem 0}.post-detail-card-wrapper{width:100%}@media (min-width:769px){.post-detail-content{max-width:1200px;padding:2rem 1.5rem}.post-detail-content .post-detail-card-wrapper.portrait-map{margin:0 auto;max-width:470px;width:470px}.post-detail-content .post-detail-card-wrapper.portrait-map .post-card{max-width:470px!important;width:470px!important}.post-detail-content .post-detail-card-wrapper.landscape-map,.post-detail-content .post-detail-card-wrapper.landscape-map .post-card{max-width:100%;width:100%}}.post-detail-loading{padding:100px 20px;text-align:center}.post-detail-loading p{color:#6b7280;font-size:14px}.post-detail-not-found{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin:100px auto;max-width:400px;padding:40px;text-align:center}.post-detail-not-found h2{color:#111827;margin:0 0 8px}.post-detail-not-found p{color:#6b7280;margin:0 0 24px}.post-detail-not-found button{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.post-detail-not-found button:hover{background:#2563eb}@media (max-width:768px){.post-detail-page{padding-top:0}.post-detail-header{top:0}.back-button{padding:8px 16px}.post-detail-content{padding:0}.post-detail-not-found{margin:60px 16px;padding:32px 20px}}.manage-post-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.5rem;max-width:470px;overflow:hidden;width:100%}.generation-progress-overlay{align-items:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6);display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:40px 20px;text-align:center;width:100%}.progress-spinner{display:flex;justify-content:center;margin-bottom:24px}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;width:16px}.generation-progress-overlay h3{color:#111827;font-size:20px;font-weight:600;margin:0 0 12px}.progress-message{color:#6b7280;font-size:16px;line-height:1.5;margin:0 0 24px;min-height:24px;padding:0 20px}@media (max-width:640px){.progress-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:14px;line-height:1.4;min-height:48px;overflow:hidden;text-overflow:ellipsis}}.progress-bar-container{margin:0 auto;max-width:400px}.progress-bar{background-color:#e5e7eb;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(90deg,#78716c,#57534e);border-radius:4px;height:100%;position:relative;transition:width .3s ease}.progress-bar-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-info{align-items:baseline;color:#6b7280;display:flex;font-size:14px;gap:16px;justify-content:space-between;min-height:20px}.progress-percentage{color:#111827;flex-shrink:0;font-weight:500;line-height:1}.progress-eta{color:#6b7280;flex-shrink:0;font-size:13px;line-height:1;min-width:80px;text-align:right}.post-user-info-bottom{align-items:center;display:flex;gap:12px}.user-avatar-small{border-radius:50%;cursor:pointer;flex-shrink:0;height:32px;overflow:hidden;transition:opacity .2s;width:32px}.user-avatar-small:hover{opacity:.7}.user-avatar-small img{height:100%;object-fit:cover;width:100%}.user-details-bottom{display:flex;flex-direction:column;gap:2px;min-width:0}.username{color:#111827;cursor:pointer;font-size:14px;font-weight:600;transition:color .2s}.username:hover{color:#3b82f6;text-decoration:underline}.location-small{color:#6b7280;font-size:11px}.post-media{cursor:pointer;position:relative}.post-image{display:block;height:auto;width:100%}.strava-overlay-link{background:#fffffff2;border-radius:6px;bottom:48px;box-shadow:0 2px 8px #00000026;color:#fc4c02;font-size:14px;font-weight:600;padding:8px 16px;position:absolute;right:16px;text-decoration:none;transition:all .2s ease;z-index:20}.strava-overlay-link:hover{background:#fff;box-shadow:0 4px 12px #0003;color:#e04402;transform:translateY(-2px)}.image-dots{bottom:12px;display:flex;gap:6px;justify-content:center;left:50%;position:absolute;transform:translateX(-50%);z-index:15}.image-dot{background:#fff9;border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:8px;transition:all .2s ease;width:8px}.image-dot:hover{background:#fffc;transform:scale(1.2)}.image-dot.active{background:#fff;height:10px;width:10px}.post-actions{padding:8px 16px 16px}.post-caption{align-items:flex-start;display:flex;font-size:14px;gap:12px;line-height:1.4;margin-bottom:12px}.activity-icon{align-items:center;display:flex;flex-shrink:0;font-size:32px;height:36px;justify-content:center;line-height:1;width:36px}.caption-text{color:#111827;flex:1 1}.post-footer{justify-content:space-between;margin-top:12px;min-height:48px}.post-badges,.post-footer{align-items:center;display:flex}.post-badges{flex-wrap:wrap;gap:8px}.post-badge{cursor:pointer;height:48px;object-fit:contain;transition:opacity .2s ease;width:48px}.post-badge:hover{opacity:.6}.post-time{color:#6b7280;flex-shrink:0;font-size:12px;margin-left:auto;text-transform:uppercase}.badges-section,.edit-section,.publish-section{border-top:1px solid #e5e7eb;margin-top:12px;padding-top:12px}.badges-section h4,.edit-section h4,.publish-section h4{color:#374151;font-size:14px;font-weight:600;margin:0 0 12px}.edit-actions-horizontal{display:flex;flex-wrap:wrap;gap:8px}.edit-btn-inline{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:6px;justify-content:center;min-width:0;padding:10px 12px;position:relative;transition:all .2s;white-space:nowrap}.edit-btn-inline svg{flex-shrink:0;height:16px;width:16px}.edit-btn-inline:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.edit-btn-inline:disabled{cursor:not-allowed;opacity:.5}.edit-btn-inline.diamond-cost{padding-right:32px}.edit-btn-inline.coming-soon{background:#fff;border-color:#d1d5db;color:#9ca3af;justify-content:flex-start;min-width:0;opacity:.6;padding:10px 12px;position:relative}.edit-btn-inline.coming-soon>svg{flex-shrink:0}.edit-btn-inline.coming-soon:disabled{background:#fff;border-color:#d1d5db;cursor:not-allowed;opacity:.6}.edit-btn-inline.coming-soon:hover{background:#fff;border-color:#d1d5db}.edit-btn-inline.coming-soon svg{color:#9ca3af}.coming-soon-badge{align-items:center;background:#f59e0b;border-radius:4px;box-shadow:0 1px 2px #0000001a;color:#fff;display:inline-flex;font-size:9px;font-weight:700;justify-content:center;letter-spacing:.5px;line-height:1;padding:2px 6px;pointer-events:none;position:absolute;right:8px;text-transform:uppercase;top:50%;transform:translateY(-50%);white-space:nowrap}.available-badges{display:flex;flex-wrap:wrap;gap:8px}.badge-button{background:none;border:none;cursor:pointer;height:48px;padding:0;position:relative;transition:opacity .2s ease;width:48px}.badge-button:hover{opacity:.6}.badge-button.selected:after{align-items:center;background:#3b82f6;border:2px solid #fff;border-radius:50%;color:#fff;content:"✓";display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:-4px;top:-4px;width:20px}.badge-button img{height:100%;object-fit:contain;width:100%}.map-badge-overlay-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:15}.map-badge-overlay{align-items:center;cursor:move;display:flex;justify-content:center;pointer-events:auto;position:absolute;transition:transform .2s ease}.map-badge-overlay.dragging{transform:scale(1.15);transition:none}.map-badge-overlay.selected{z-index:20}.map-badge-overlay:hover{transform:scale(1.1)}.map-badge-overlay img{filter:drop-shadow(2px 4px 6px rgba(0,0,0,.2));height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%}.badge-size-control{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:20px;bottom:60px;box-shadow:0 2px 8px #0000001a;display:flex;gap:8px;left:50%;padding:8px 16px;pointer-events:auto;position:absolute;transform:translateX(-50%);z-index:20}.badge-size-slider{-webkit-appearance:none;appearance:none;background:#e5e7eb;border-radius:2px;cursor:pointer;height:4px;outline:none;width:100px}.badge-size-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#3b82f6;border-radius:50%;cursor:pointer;height:12px;-webkit-transition:all .2s;transition:all .2s;width:12px}.badge-size-slider::-webkit-slider-thumb:hover{background:#2563eb;transform:scale(1.2)}.badge-size-slider::-moz-range-thumb{background:#3b82f6;border:none;border-radius:50%;cursor:pointer;height:12px;-moz-transition:all .2s;transition:all .2s;width:12px}.badge-size-slider::-moz-range-thumb:hover{background:#2563eb;transform:scale(1.2)}.publish-actions-horizontal{display:flex;flex-wrap:wrap;gap:8px}.publish-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s;white-space:nowrap}.publish-btn.primary{background:#3b82f6;color:#fff}.publish-btn.primary:hover:not(:disabled){background:#2563eb}.publish-btn.primary:disabled{background:#10b981;cursor:default}.publish-btn:not(.primary):not(.strava){background:#fff;border:1px solid #d1d5db;color:#374151}.publish-btn:not(.primary):not(.strava):hover{background:#f9fafb}.publish-btn.strava{background:#fc5200;color:#fff}.publish-btn.strava:hover:not(:disabled){background:#e04402}.publish-btn.strava:disabled{cursor:not-allowed;opacity:.7}.publish-btn.full-width{width:100%}.strava-share-section{margin-top:8px}.modal-content,.modal-content h3{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.modal-content h3{margin:0 0 16px}.edit-input,.edit-textarea,.modal-content p{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.edit-input,.edit-textarea{border:1px solid #d1d5db;border-radius:8px;font-size:14px;margin-bottom:16px;padding:10px 14px;width:100%}.edit-textarea{min-height:100px;resize:vertical}.edit-input:focus,.edit-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.cancel-button,.save-button{border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.cancel-button:disabled{cursor:not-allowed;opacity:.6}.save-button{align-items:center;background:#3b82f6;display:flex;gap:6px}.save-button:hover:not(:disabled){background:#2563eb}.save-button:disabled{opacity:.7}.save-button.diamond{gap:6px}.share-primary-actions{display:flex;gap:12px;margin-bottom:20px}.share-primary-btn{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s}.share-primary-btn:hover{background:#2563eb}.share-divider{align-items:center;color:#6b7280;display:flex;font-size:13px;margin:20px 0}.share-divider:after,.share-divider:before{border-bottom:1px solid #e5e7eb;content:"";flex:1 1}.share-divider span{padding:0 12px}.share-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}.share-option{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px;transition:all .2s}.share-option svg{flex-shrink:0}.share-option:hover{background:#f9fafb;border-color:#9ca3af}.share-option.twitter svg{color:#000}.share-option.facebook svg{color:#1877f2}.share-option.instagram svg{color:#e4405f}.share-option.tiktok svg{color:#000}.share-option.reddit svg{color:#ff4500}.modal-footer-link{justify-content:center;margin-top:24px;padding-top:20px}.manage-actions,.modal-footer-link{border-top:1px solid #e5e7eb;display:flex}.manage-actions{gap:8px;margin-top:12px;padding-top:12px}.manage-action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:10px 16px;transition:all .2s}.manage-action-btn.delete{background:#fff;border:1px solid #dc2626;color:#dc2626}.manage-action-btn.delete:hover{background:#dc2626;color:#fff}@media (max-width:640px){.manage-post-card{border-bottom:8px solid #f3f4f6;border-left:none;border-radius:0;border-right:none;margin-bottom:0}.edit-actions-horizontal,.publish-actions-horizontal{flex-direction:column}.edit-btn-inline,.publish-btn{width:100%}.coming-soon-badge{font-size:8px;padding:2px 5px;right:6px}.edit-btn-inline.coming-soon{justify-content:center!important}}.manage-post-page{background:#f9fafb;min-height:100vh;padding-bottom:80px;padding-top:60px}.manage-post-header{background:#fff;border-bottom:1px solid #e5e7eb;padding:12px 0;position:-webkit-sticky;position:sticky;top:60px;z-index:10}.back-button{color:#374151;gap:8px;margin:0 auto;max-width:800px;padding:8px 16px}@media (min-width:769px){.back-button{max-width:1200px;padding-left:1.5rem;padding-right:1.5rem}}.manage-post-content{margin:0 auto;max-width:470px;padding:1.5rem 0}.manage-post-card-wrapper{width:100%}@media (min-width:769px){.manage-post-content{max-width:1200px;padding:2rem 1.5rem}.manage-post-content .manage-post-card-wrapper.portrait-map{margin:0 auto;max-width:470px;width:470px}.manage-post-content .manage-post-card-wrapper.portrait-map .manage-post-card{max-width:470px!important;width:470px!important}.manage-post-content .manage-post-card-wrapper.landscape-map,.manage-post-content .manage-post-card-wrapper.landscape-map .manage-post-card{max-width:100%;width:100%}}.modal-overlay{background:#000000b3}.modal-content{background:#fff;box-shadow:0 20px 25px -5px #0000001a;max-width:400px;padding:24px}.modal-content h3{color:#111827;font-size:20px;font-weight:700;margin:0 0 12px}.modal-content p{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 24px}.cancel-button{background:#fff;font-weight:600}.cancel-button:hover:not(:disabled){background:#f9fafb}.delete-confirm-button{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.delete-confirm-button:hover:not(:disabled){background:#b91c1c}.cancel-button:disabled,.delete-confirm-button:disabled{cursor:not-allowed;opacity:.6}.manage-post-loading{padding:100px 20px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:48px;margin:0 auto 16px;width:48px}.manage-post-loading p{color:#6b7280;font-size:14px}.manage-post-not-found{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin:100px auto;max-width:400px;padding:40px;text-align:center}.manage-post-not-found h2{color:#111827;margin:0 0 8px}.manage-post-not-found p{color:#6b7280;margin:0 0 24px}.manage-post-not-found button{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.manage-post-not-found button:hover{background:#2563eb}@media (max-width:768px){.manage-post-page{padding-top:0}.manage-post-header{top:0}.manage-post-content{padding:0}.modal-content{margin:16px}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.settings-page{background:#f9fafb;min-height:100vh;padding-bottom:80px;padding-top:60px}.settings-container{margin:0 auto;max-width:760px;padding:0 20px}.settings-header{padding-top:32px}.settings-header h1{color:#111827;font-size:30px;font-weight:700;margin:0 0 4px}.settings-subtitle{color:#6b7280;font-size:16px;font-weight:400;margin:0 0 20px}.settings-divider{background-color:#e5e7eb;height:1px;margin-bottom:32px;width:100%}.settings-section{margin-bottom:48px}.settings-section h2{align-items:center;color:#111827;display:flex;font-size:24px;font-weight:700;gap:8px;margin:0 0 12px}.strava-connection-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.connection-status{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.status-indicator{display:flex;gap:12px}.status-loading{align-items:center;color:#6b7280;display:flex;gap:8px}.status-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.status-dot.connected{background-color:#10b981}.status-dot.disconnected{background-color:#9ca3af}.status-text{color:#374151;font-weight:500}.connection-actions{display:flex;gap:12px}.strava-connect-button{align-items:center;background-color:#fc5200;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;transition:all .2s}.strava-connect-button:hover{background-color:#e04402}.strava-disconnect-button{background-color:#374151;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s}.strava-disconnect-button:hover{background-color:#111827}.connection-info{background-color:#fef3c7;border:1px solid #fde68a;border-radius:8px;padding:16px}.connection-info p{color:#92400e;font-size:14px;line-height:1.5;margin:0}.preference-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;padding:24px}.preference-item,.preference-item-inline{align-items:flex-start;display:flex;gap:24px;justify-content:space-between}.preference-info{flex:1 1}.preference-info h4{color:#111827;font-size:16px;font-weight:600;margin:0 0 8px}.preference-info p{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.preference-control{align-items:center;display:flex;flex-shrink:0}.language-select{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;cursor:pointer;font-size:14px;min-width:200px;padding:10px 14px;transition:all .2s}.language-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.language-select:hover{border-color:#9ca3af}.signout-button{background-color:#374151;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.signout-button:hover{background-color:#111827}.legal-links-list{display:flex;flex-direction:column;gap:0}.legal-link-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:20px 0;text-decoration:none;transition:all .2s}.legal-link-item:last-child{border-bottom:none}.legal-link-item:hover{padding-left:8px}.legal-link-content{flex:1 1}.legal-link-content h4{color:#111827;font-size:16px;font-weight:600;margin:0 0 4px}.legal-link-content p{color:#6b7280;font-size:14px;margin:0}.legal-link-arrow{color:#9ca3af;font-size:20px;font-weight:600;transition:all .2s}.legal-link-item:hover .legal-link-arrow{color:#3b82f6;transform:translateX(4px)}.community-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.social-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;gap:12px;padding:20px;text-decoration:none;transition:all .2s}.social-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0000001a;transform:translateY(-4px)}.social-icon{align-items:center;background:#f9fafb;border-radius:50%;display:flex;height:48px;justify-content:center;width:48px}.social-card span{color:#374151;font-size:14px;font-weight:600}.danger-zone{border-top:1px solid #e5e7eb;padding-top:48px}.danger-card{background-color:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:24px}.danger-content h3{color:#991b1b;font-size:18px;font-weight:600;margin:0 0 8px}.danger-content p{color:#7f1d1d;font-size:14px;line-height:1.5;margin:0 0 16px}.danger-button{background-color:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.danger-button:hover{background-color:#b91c1c}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;padding:16px}.modal-content{width:100%}.delete-modal h2{color:#111827;font-weight:700}.warning-banner svg{color:#dc2626;flex-shrink:0}.deletion-details h4{color:#111827}.deletion-details ul,.info-text{color:#6b7280}.confirmation-input label{color:#374151}.confirmation-input input{border:1px solid #d1d5db}.confirmation-input input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.cancel-button{border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.confirm-delete-button{font-weight:600;transition:all .2s}.confirm-delete-button:disabled{background-color:#d1d5db}.settings-not-logged-in{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin:100px auto;max-width:400px;padding:40px;text-align:center}.settings-not-logged-in h2{color:#111827;margin:0 0 8px}.settings-not-logged-in p{color:#6b7280;margin:0}@media (max-width:768px){.settings-page{padding-top:0}.settings-container{padding:0 16px}.connection-status{align-items:stretch;flex-direction:column;gap:16px}.connection-actions,.status-indicator{justify-content:center}.preference-item{flex-direction:column;gap:16px}.preference-control{align-self:flex-start;width:100%}.language-select{width:100%}.community-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.modal-content{padding:24px}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}.settings-not-logged-in{margin:60px 16px;padding:32px 20px}}@media (max-width:480px){.community-grid{grid-template-columns:repeat(2,1fr)}.social-card{padding:16px}.social-icon{height:40px;width:40px}.social-icon svg{height:24px;width:24px}}.edit-profile-page{background:#f9fafb;min-height:100vh;padding-bottom:80px;padding-top:60px}.edit-profile-container{margin:0 auto;max-width:600px;padding:0 20px}.edit-profile-header{padding-top:32px}.edit-profile-header h1{color:#111827;font-size:30px;font-weight:700;margin:0 0 4px}.edit-profile-subtitle{color:#6b7280;font-size:16px;font-weight:400;margin:0 0 20px}.edit-profile-page .settings-divider{background-color:#e5e7eb;height:1px;margin-bottom:32px;width:100%}.edit-profile-page .avatar-preview-section{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;gap:20px;margin-bottom:24px;padding:24px}.edit-profile-page .avatar-preview{flex-shrink:0}.edit-profile-page .avatar-preview img{border:3px solid #f3f4f6;border-radius:50%;height:80px;object-fit:cover;width:80px}.edit-profile-page .avatar-info h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 4px}.edit-profile-page .avatar-info p{color:#6b7280;font-size:14px;margin:0}.edit-profile-page .profile-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:24px}.edit-profile-page .profile-field{margin-bottom:24px}.edit-profile-page .profile-field:last-of-type{margin-bottom:0}.edit-profile-page .profile-field label{align-items:center;color:#374151;display:flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:8px}.edit-profile-page .profile-input{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-size:14px;padding:10px 14px;width:100%}.edit-profile-page .profile-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.edit-profile-page .profile-input:disabled{background-color:#f9fafb;cursor:not-allowed}.edit-profile-page .profile-textarea{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-family:inherit;font-size:14px;min-height:100px;padding:10px 14px;resize:vertical;width:100%}.edit-profile-page .profile-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.edit-profile-page .profile-textarea:disabled{background-color:#f9fafb;cursor:not-allowed}.edit-profile-page .char-count{color:#9ca3af;display:block;font-size:12px;margin-top:6px;text-align:right}.edit-profile-page .profile-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.edit-profile-page .cancel-button{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.edit-profile-page .cancel-button:hover:not(:disabled){background-color:#f9fafb}.edit-profile-page .save-profile-button{background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.edit-profile-page .save-profile-button:hover:not(:disabled){background-color:#2563eb}.edit-profile-page .save-profile-button:disabled{background-color:#d1d5db;cursor:not-allowed}.edit-profile-not-logged-in{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin:100px auto;max-width:400px;padding:40px;text-align:center}.edit-profile-not-logged-in h2{color:#111827;margin:0 0 8px}.edit-profile-not-logged-in p{color:#6b7280;margin:0}@media (max-width:768px){.edit-profile-page{padding-top:0}.edit-profile-container{padding:0 16px}.edit-profile-header{padding-top:20px}.edit-profile-page .avatar-preview-section{flex-direction:column;text-align:center}.edit-profile-page .profile-actions{flex-direction:column-reverse;gap:8px}.edit-profile-page .profile-actions button{width:100%}.edit-profile-not-logged-in{margin:60px 16px;padding:32px 20px}}.diamonds-page{background:#f9fafb;min-height:100vh;padding-bottom:80px;padding-top:60px}.diamonds-container{margin:0 auto;max-width:760px;padding:0 20px}.diamonds-header{padding-top:32px}.diamonds-header h1{color:#111827;font-size:30px;font-weight:700;margin:0 0 4px}.diamonds-subtitle{color:#6b7280;font-size:16px;font-weight:400;margin:0 0 20px}.diamonds-divider{background-color:#e5e7eb;height:1px;margin-bottom:32px;width:100%}.diamonds-section{margin-bottom:48px}.diamonds-section h2{align-items:center;color:#111827;display:flex;font-size:24px;font-weight:700;gap:8px;margin:0 0 12px}.section-description{color:#6b7280;font-size:16px;line-height:1.5;margin:0 0 24px}.diamonds-counter{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;justify-content:space-between;padding:24px}.diamonds-counter,.diamonds-info{align-items:center;display:flex}.diamonds-badge{background:#dbeafe;border-radius:20px;color:#1e40af;font-size:14px;font-weight:600;padding:6px 14px}.diamonds-count{align-items:baseline;display:flex;gap:8px}.diamonds-count .current{color:#111827;font-size:36px;font-weight:700}.diamonds-count .separator{color:#6b7280;font-size:16px;font-weight:500}.bonus-diamonds{color:#6b7280;font-size:14px;margin-left:8px}.reward-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:16px;padding:24px;transition:all .2s}.reward-card:hover{box-shadow:0 4px 12px #00000014}.reward-card.claimed{background:#f9fafb;border-color:#d1d5db;opacity:.8}.reward-content{width:100%}.reward-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.reward-content h4{align-items:center;color:#111827;display:flex;font-size:18px;font-weight:600;margin:0}.reward-value{background:#fef3c7;border-radius:12px;color:#92400e;font-size:14px;font-weight:700;padding:4px 12px}.reward-content p{color:#6b7280;font-size:14px;line-height:1.5;margin:0 0 16px}.reward-button{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:14px;font-weight:600;padding:10px 20px;text-decoration:none;transition:all .2s}.reward-button:hover:not(:disabled){background:#2563eb}.reward-button:disabled{background:#d1d5db;cursor:not-allowed}.success-message{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;color:#047857}.error-message,.success-message{font-size:14px;margin-bottom:16px;padding:12px}.error-message{background:#fef2f2;color:#b91c1c}.share-info-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin:16px 0 20px;padding:16px}.share-info-box p{color:#374151;font-size:14px;line-height:1.5;margin:0}.share-info-box strong{color:#111827}.earned-maps-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.earned-map-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;transition:all .2s}.earned-map-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.map-thumbnail{aspect-ratio:1;background:#e5e7eb;overflow:hidden;position:relative;width:100%}.map-thumbnail img{height:100%;object-fit:cover;width:100%}.diamond-earned-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#3b82f6f2;border-radius:12px;color:#fff;font-size:12px;font-weight:700;padding:4px 8px;position:absolute;right:8px;top:8px}.map-info{padding:12px}.map-info h5{color:#111827;font-size:13px;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading-spinner-small{margin:0 auto}.diamonds-not-logged-in{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin:100px auto;max-width:400px;padding:40px;text-align:center}.diamonds-not-logged-in h2{color:#111827;margin:0 0 8px}.diamonds-not-logged-in p{color:#6b7280;margin:0}.coffee-card .coffee-content{align-items:center;display:flex;gap:24px;justify-content:space-between}.coffee-text{flex:1 1}.coffee-text h4{color:#111827;font-size:18px;font-weight:600;margin:0 0 8px}.coffee-text p{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.coffee-button{flex-shrink:0}@media (max-width:768px){.diamonds-page{padding-top:0}.diamonds-container{padding:0 16px}.diamonds-header{padding-top:20px}.diamonds-counter{flex-direction:column;gap:16px;text-align:center}.diamonds-count{align-items:center;flex-direction:column;gap:4px}.earned-maps-grid{grid-template-columns:repeat(2,1fr)}.diamonds-not-logged-in{margin:60px 16px;padding:32px 20px}.coffee-card .coffee-content{align-items:stretch;flex-direction:column;text-align:center}.coffee-button{display:flex;justify-content:center}}.admin-menu-page{background:#f9fafb;min-height:100vh;padding-bottom:80px;padding-top:60px}.admin-menu-container{margin:0 auto;max-width:900px;padding:0 20px}.admin-menu-header{padding-top:32px}.header-content{gap:16px;margin-bottom:20px}.header-content,.shield-icon{align-items:center;display:flex}.shield-icon{background:linear-gradient(135deg,#dc2626,#ef4444);border-radius:16px;color:#fff;flex-shrink:0;height:64px;justify-content:center;width:64px}.admin-menu-header h1{color:#111827;font-size:30px;font-weight:700;margin:0 0 4px}.admin-menu-subtitle{color:#6b7280;font-size:16px;font-weight:400;margin:0}.admin-links-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr;margin-bottom:32px}.admin-link-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;display:flex;gap:16px;padding:20px;text-decoration:none;transition:all .2s}.admin-link-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.admin-link-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.admin-link-content{flex:1 1;min-width:0}.admin-link-content h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 6px}.admin-link-content p{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.admin-link-note{color:#9ca3af;display:inline-block;font-size:12px;font-style:italic;margin-top:6px}.admin-link-arrow{flex-shrink:0;font-size:24px;font-weight:600;transition:transform .2s}.admin-link-card:hover .admin-link-arrow{transform:translateX(4px)}.admin-warning{align-items:flex-start;background:#fef3c7;border:1px solid #fde68a;border-radius:12px;color:#92400e;display:flex;gap:12px;padding:16px 20px}.admin-warning svg{flex-shrink:0;margin-top:2px}.admin-warning strong{font-weight:700}.admin-not-authorized svg{color:#dc2626;margin-bottom:16px}.admin-not-authorized p{margin:0 0 24px}.admin-not-authorized button{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.admin-not-authorized button:hover{background:#2563eb}@media (max-width:768px){.admin-menu-page{padding-top:0}.admin-menu-container{padding:0 16px}.admin-menu-header{padding-top:20px}.header-content{align-items:flex-start;flex-direction:column;text-align:left}.shield-icon{height:56px;width:56px}.admin-link-card{padding:16px}.admin-link-icon{height:48px;width:48px}.admin-not-authorized{margin:60px 16px;padding:32px 20px}}.admin-settings-page{background:#f9fafb;min-height:100vh;padding-bottom:80px;padding-top:60px}.admin-settings-container{margin:0 auto;max-width:1000px;padding:0 20px}.admin-settings-header{padding-top:32px}.back-button{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:16px;padding:8px 0;transition:color .2s}.back-button:hover{color:#111827}.admin-settings-header h1{color:#111827;font-size:30px;font-weight:700;margin:0 0 4px}.admin-settings-subtitle{color:#6b7280;font-size:16px;font-weight:400;margin:0 0 20px}.admin-divider{background-color:#e5e7eb;height:1px;margin-bottom:32px;width:100%}.admin-setting-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000000d;margin-bottom:20px;padding:24px}.setting-header{align-items:flex-start;display:flex;gap:24px;justify-content:space-between;margin-bottom:16px}.setting-info{flex:1 1}.setting-info h4{color:#111827;font-size:18px;font-weight:600;margin:0 0 8px}.setting-info p{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.setting-control{align-items:center;display:flex;flex-shrink:0}.setting-note{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-size:14px;padding:12px 16px}.numeric-input-group{align-items:center;display:flex;gap:8px}.numeric-input{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-size:14px;padding:8px 12px;text-align:center;width:80px}.numeric-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.numeric-input:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.input-unit{color:#6b7280;font-size:14px;font-weight:500}.color-input-group{align-items:center;display:flex;gap:8px}.color-select{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;cursor:pointer;font-size:14px;min-width:140px;padding:8px 12px}.color-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.color-select:disabled{background-color:#f9fafb;cursor:not-allowed;opacity:.5}.color-preview{border:2px solid #e5e7eb;border-radius:8px;cursor:help;height:32px;transition:all .2s;width:32px}.color-preview:hover{border-color:#d1d5db;transform:scale(1.05)}.save-button{background-color:#374151;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.save-button:hover:not(:disabled){background-color:#111827}.save-button:disabled{background-color:#d1d5db;color:#9ca3af;cursor:not-allowed}.save-button.primary{background-color:#3b82f6;padding:10px 24px}.save-button.primary:hover:not(:disabled){background-color:#2563eb}.toggle-switch{cursor:pointer;display:inline-block;height:24px;position:relative;width:44px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#d1d5db;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.3s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:2px;box-shadow:0 1px 3px #0000001a;content:"";height:20px;left:2px;position:absolute;transition:.3s;width:20px}.toggle-switch input:checked+.toggle-slider{background-color:#3b82f6}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(20px)}.toggle-switch input:disabled+.toggle-slider{cursor:not-allowed;opacity:.5}.watermark-settings{padding:24px 24px 32px}.watermark-setting-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:16px 0}.watermark-setting-item:last-of-type{border-bottom:none}.setting-info-small{flex:1 1}.setting-info-small h5{color:#111827;font-size:15px;font-weight:600;margin:0 0 4px}.setting-info-small p{color:#6b7280;font-size:13px;line-height:1.4;margin:0}.setting-control-small{flex-shrink:0}.numeric-input-small{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#111827;font-size:14px;padding:8px 12px;text-align:center;width:80px}.numeric-input-small:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.numeric-input-small:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.watermark-actions{border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;margin-top:24px;padding-top:24px}.loading-spinner-small{border:2px solid #e5e7eb;border-top-color:#3b82f6;height:20px;width:20px}.admin-not-authorized{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin:100px auto;max-width:400px;padding:40px;text-align:center}.admin-not-authorized h2{color:#111827;margin:0 0 8px}.admin-not-authorized p{color:#6b7280;margin:0}@media (max-width:768px){.admin-settings-page{padding-top:0}.admin-settings-container{padding:0 16px}.admin-settings-header{padding-top:20px}.setting-header{flex-direction:column;gap:16px}.setting-control{align-self:flex-start;width:100%}.color-input-group,.numeric-input-group{justify-content:space-between;width:100%}.watermark-setting-item{align-items:flex-start;flex-direction:column;gap:12px}.numeric-input-small,.setting-control-small{width:100%}}.prompt-management-page h1,.prompt-management-page h2{margin-bottom:25px;text-align:center}.prompt-management-page .create-new-button{display:block;font-size:1.1em;margin:0 auto 30px;padding:10px 20px}.modal-overlay{overflow-y:auto;padding:20px}.prompt-management-page .modal-content{background-color:var(--Base-White);border-radius:12px;border-radius:var(--border-radius-lg,12px);max-height:90vh;max-width:1200px;overflow-y:auto;position:relative;width:100%}.modal-close{background:none;border-radius:4px;color:var(--Gray-500);font-size:24px;height:30px;line-height:1;padding:5px;right:15px;top:15px;transition:background-color .2s;width:30px}.modal-close:hover{background-color:var(--Gray-100);color:var(--Gray-700)}.prompt-form{background-color:#f9fafb;background-color:var(--color-bg-subtle,#f9fafb);border:1px solid #eaecf0;border:1px solid var(--color-border-card,#eaecf0);border-radius:12px;border-radius:var(--border-radius-lg,12px);box-shadow:var(--box-shadow-card);margin-bottom:0;padding:40px 25px 25px}.prompt-form h2{font-weight:500;font-weight:var(--font-weight-medium,500);margin-bottom:25px;margin-top:0}.prompt-form div{margin-bottom:20px}.prompt-form label{color:#344054;color:var(--color-text-secondary,#344054);display:block;font-size:14px;font-weight:500;font-weight:var(--font-weight-medium,500);line-height:20px;margin-bottom:6px}.prompt-form input[type=text],.prompt-form textarea{background-color:var(--Base-White);background-color:var(--color-bg-input,var(--Base-White));border:1px solid #d0d5dd;border:1px solid var(--color-border-input,#d0d5dd);border-radius:8px;border-radius:var(--border-radius-md,8px);box-shadow:var(--box-shadow-input);box-sizing:border-box;color:var(--color-text-primary);font-family:var(--font-primary);font-size:16px;line-height:24px;padding:10px 14px;width:100%}.prompt-form input[type=text]:focus,.prompt-form textarea:focus{border-color:#57534e;border-color:var(--Primary-600,#57534e);box-shadow:0 0 0 3px #57534e1a;outline:none}.prompt-form textarea#templateString{font-family:monospace;font-family:var(--font-code,monospace);font-size:14px;min-height:250px;overflow-wrap:break-word;white-space:pre-wrap}.prompt-form input[type=checkbox]{accent-color:var(--Primary-600);height:16px;margin-right:8px;vertical-align:middle;width:16px}.prompt-form div:has(>input[type=checkbox]) label{display:inline-block;font-weight:var(--font-weight-regular);vertical-align:middle}.prompt-form .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:25px}.prompt-form .form-actions button{padding:10px 18px}.prompt-form .form-actions button[type=button]{background-color:var(--Base-White);background-color:var(--color-bg-button-secondary,var(--Base-White));border:1px solid var(--color-border-button-secondary,var(--Gray-300));color:var(--Gray-700);color:var(--color-text-button-secondary,var(--Gray-700))}.prompt-form .form-actions button[type=button]:hover{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb)}.templates-list{list-style-type:none;margin-top:30px;padding:0}.templates-list li{background-color:var(--Base-White);background-color:var(--color-bg-content-area,var(--Base-White));border:1px solid var(--color-border-card,var(--Gray-200));border-radius:12px;border-radius:var(--border-radius-lg,12px);box-shadow:var(--box-shadow-card);margin-bottom:8px;padding:12px 16px;transition:box-shadow .2s ease-in-out}.templates-list li:hover{box-shadow:0 4px 10px #10182814,0 1px 4px #1018280f}.templates-list h3{color:var(--Gray-900);color:var(--color-text-primary,var(--Gray-900));font-size:16px;font-weight:500;font-weight:var(--font-weight-medium,500);margin-bottom:4px;margin-top:0}.templates-list p{color:var(--Gray-700);color:var(--color-text-secondary,var(--Gray-700));font-size:13px;line-height:18px;margin-bottom:4px;text-align:left}.templates-list p small{color:var(--Gray-500);color:var(--color-text-subtle,var(--Gray-500));font-size:12px}.templates-list .template-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;text-align:right}.templates-list .template-actions button{background-color:var(--Base-White);background-color:var(--color-bg-button-secondary,var(--Base-White));border:1px solid var(--color-border-button-secondary,var(--Gray-300));color:var(--Gray-700);color:var(--color-text-button-secondary,var(--Gray-700));font-size:13px;font-weight:var(--font-weight-medium);padding:6px 12px}.templates-list .template-actions button:hover{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb)}.templates-list .template-actions button.delete-button{background-color:var(--Base-White);background-color:var(--color-bg-button-secondary,var(--Base-White));border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);color:#dc3545}.templates-list .template-actions button.delete-button:hover{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.prompt-management-page .error{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;border-radius:var(--border-radius-md,8px);color:#721c24;margin-bottom:15px;margin-top:10px;padding:10px 15px}.prompt-form input[type=file]{background:none;border:none;box-shadow:none;padding:8px 0}.prompt-form .current-image,.prompt-form .image-preview{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);border:1px solid #eaecf0;border:1px solid var(--Gray-200,#eaecf0);border-radius:8px;border-radius:var(--border-radius-md,8px);margin-top:10px;padding:10px}.prompt-form .current-image img,.prompt-form .image-preview img{display:block;margin-bottom:10px}.templates-list .template-image{border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);border-radius:6px;flex-shrink:0;height:60px;object-fit:cover;width:100px}.templates-list .template-content{flex:1 1;min-width:0}.templates-list .template-info{align-items:flex-start;display:flex;gap:15px;margin-bottom:10px}.templates-list li.child-template{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);border-left:3px solid #57534e;border-left:3px solid var(--Primary-600,#57534e)}.templates-list li.child-template h3{font-size:15px}@media (max-width:1200px){.prompt-management-page .modal-content{max-width:90%}}@media (max-width:768px){.prompt-management-page .modal-overlay{padding:15px 8px}.prompt-management-page .modal-content{max-height:95vh;max-width:100%}.prompt-management-page .prompt-form{padding:25px 20px 20px}}@media (max-width:480px){.prompt-management-page .modal-overlay{padding:10px 5px}.prompt-management-page .prompt-form{padding:20px 15px 15px}}.strava-webhook-admin-page{margin:20px auto;max-width:900px;padding:20px}.strava-webhook-admin-page h1{margin-bottom:30px}.strava-webhook-admin-page h2{border-bottom:1px solid #eaecf0;border-bottom:1px solid var(--color-border-divider,#eaecf0);font-size:20px;margin-bottom:15px;margin-top:30px;padding-bottom:10px}.manage-subscription-section,.subscription-status-section,.verification-check-section{background-color:var(--Base-White);background-color:var(--color-bg-content-area,var(--Base-White));border:1px solid #eaecf0;border:1px solid var(--color-border-card,#eaecf0);border-radius:12px;border-radius:var(--border-radius-lg,12px);box-shadow:var(--box-shadow-card);margin-bottom:25px;padding:25px}.message{border-radius:8px;border-radius:var(--border-radius-md,8px);font-size:14px;margin-bottom:20px;padding:12px 18px;text-align:center}.success-msg{background-color:#d1e7dd;border:1px solid #badbcc;color:#0f5132}.error-msg{background-color:#f8d7da;border:1px solid #f5c2c7;color:#842029}.subscription-details p{color:#344054;color:var(--color-text-secondary,#344054);font-size:14px;line-height:20px;margin:8px 0}.subscription-details strong{color:#101828;color:var(--color-text-primary,#101828);font-weight:500;font-weight:var(--font-weight-medium,500)}.webhook-form div{margin-bottom:20px}.webhook-form label{color:#344054;color:var(--color-text-secondary,#344054);display:block;font-size:14px;font-weight:500;font-weight:var(--font-weight-medium,500);margin-bottom:6px}.webhook-form input[type=text]{background-color:var(--Base-White);background-color:var(--color-bg-input,var(--Base-White));border:1px solid #d0d5dd;border:1px solid var(--color-border-input,#d0d5dd);border-radius:8px;border-radius:var(--border-radius-md,8px);box-shadow:var(--box-shadow-input);box-sizing:border-box;color:var(--color-text-primary);font-family:var(--font-primary);font-size:16px;padding:10px 14px;width:100%}.webhook-form input[type=text]:focus{border-color:#57534e;border-color:var(--Primary-600,#57534e);box-shadow:0 0 0 3px #57534e1a;outline:none}.input-hint{color:#667085;color:var(--color-text-subtle,#667085);font-size:12px;margin-top:6px}.action-button,.delete-button{background-color:var(--Primary-600);background-color:var(--color-bg-button-primary,var(--Primary-600));border:1px solid var(--color-border-button-primary,var(--Primary-600));border-radius:8px;border-radius:var(--border-radius-md,8px);box-shadow:var(--box-shadow-button);color:var(--Base-White);color:var(--color-text-button-primary,var(--Base-White));font-size:16px;font-weight:var(--font-weight-medium);padding:10px 18px}.action-button:hover{background-color:#44403c;background-color:var(--Primary-700,#44403c);border-color:#44403c;border-color:var(--Primary-700,#44403c)}.delete-button{background-color:#dc3545;border-color:#dc3545;color:var(--Base-White,#fff);margin-top:10px}.delete-button:hover{background-color:#c82333;border-color:#c82333}.action-button:disabled,.delete-button:disabled{background-color:#eaecf0;background-color:var(--Gray-200,#eaecf0);border-color:#eaecf0;border-color:var(--Gray-200,#eaecf0);color:#667085;color:var(--Gray-500,#667085);cursor:not-allowed}.info-text{color:#667085;color:var(--color-text-secondary,#667085);line-height:1.6;margin-bottom:15px}.verification-check-section code{background-color:#f9fafb;background-color:var(--color-bg-subtle,#f9fafb);border:1px solid #d0d5dd;border:1px solid var(--color-border-input,#d0d5dd);border-radius:8px;border-radius:var(--border-radius-md,8px);color:var(--color-text-primary);display:block;font-family:monospace;font-family:var(--font-code,monospace);margin:10px 0;padding:12px 16px;white-space:pre-wrap;word-break:break-all}.badges-admin-page{color:#333;margin:0 auto;max-width:1200px;padding:20px;position:relative}.notification{animation:slideIn .3s ease-out;border-radius:8px;box-shadow:0 4px 12px #00000026;font-weight:500;padding:16px 24px;position:fixed;right:20px;top:20px;z-index:1000}.notification.success{background:#10b981;color:#fff}.notification.error{background:#ef4444;color:#fff}.page-header{margin-bottom:40px}.page-header h1{color:#1a1a1a;font-size:32px;margin-bottom:10px}.page-header p{color:#666;font-size:16px}.badge-creation-section{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:40px;padding:30px}.badge-creation-section h2{color:#1a1a1a;font-size:24px;margin-bottom:20px}.badge-form{grid-gap:20px;display:grid;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#333;font-size:14px;font-weight:600}.form-group input,.form-group select{background:#fff;border:1px solid #ddd;border-radius:8px;color:#333;font-size:16px;padding:10px 15px;transition:all .2s}.form-group input:focus,.form-group select:focus{background:#fff;border-color:#4338ca;outline:none}.form-group input::placeholder{color:#999}.form-group select option{background:#fff;color:#333}.form-group input[type=file]{padding:8px}.image-preview{background:#f0f0f0;border:1px solid #ddd;border-radius:8px;height:100px;margin-top:10px;overflow:hidden;width:100px}.image-preview img{height:100%;object-fit:contain;width:100%}.form-actions{display:flex;gap:12px;margin-top:20px}.cancel-button,.submit-button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s}.submit-button{background:#4338ca;color:#fff}.submit-button:hover:not(:disabled){background:#5548da;transform:translateY(-1px)}.submit-button:disabled{cursor:not-allowed;opacity:.6}.cancel-button{background:#6b7280;color:#fff}.cancel-button:hover{background:#4b5563;transform:translateY(-1px)}.existing-badges-section{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:12px;padding:30px}.existing-badges-section h2{color:#1a1a1a;font-size:24px;margin-bottom:20px}.badges-admin-page .badges-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.badges-admin-page .badge-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:16px;transition:all .2s}.badges-admin-page .badge-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.badges-admin-page .badge-card.disabled{opacity:.6}.badges-admin-page .badge-images-container{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.badges-admin-page .badge-image{align-items:center;background:#f8f8f8;border:1px solid #eee;border-radius:6px;display:flex;flex-shrink:0;height:72px;justify-content:center;overflow:hidden;position:relative;width:72px}.badges-admin-page .badge-image.main-badge{border:2px solid #4338ca}.badges-admin-page .badge-image.style-variant{border:1px solid #ddd}.badges-admin-page .badge-image img{max-height:70%;max-width:70%;object-fit:contain}.badges-admin-page .badge-size-indicator{background:#333;border-radius:4px;color:#fff;font-size:9px;font-weight:600;padding:2px 6px;position:absolute;right:4px;top:4px}.badges-admin-page .badge-style-label{background:#000c;border-radius:4px;bottom:4px;color:#fff;font-size:10px;font-weight:500;left:4px;overflow:hidden;padding:2px 6px;position:absolute;right:4px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.badges-admin-page .badge-info{margin-bottom:15px}.badges-admin-page .badge-info h3{color:#1a1a1a;font-size:16px;margin-bottom:8px}.badges-admin-page .badge-condition{color:#666;font-size:12px}.badges-admin-page .badge-actions{display:flex;gap:8px}.delete-button,.edit-button,.toggle-button{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.edit-button{background:#4338ca;color:#fff}.edit-button:hover{background:#5548da}.toggle-button{background:#e0e0e0;color:#333}.toggle-button.enabled{background:#10b981}.toggle-button.disabled{background:#6b7280}.delete-button{background:#dc2626;color:#fff}.delete-button:hover{background:#ef4444}.style-versions-section{border-top:2px solid #e0e0e0;margin-top:30px;padding-top:30px}.style-versions-section h3{color:#1a1a1a;font-size:20px;margin-bottom:10px}.style-version-item{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:20px;padding:15px}.style-version-item h4{color:#333;font-size:16px;margin-bottom:15px}@media (max-width:768px){.badges-admin-page{padding:15px}.badge-creation-section,.existing-badges-section{padding:20px}.badges-grid{grid-template-columns:1fr}.badge-images-container{justify-content:center}}.admin-dashboard{margin:0 auto;max-width:1400px;padding:20px}.dashboard-header{border-bottom:1px solid #eaecf0;border-bottom:1px solid var(--Gray-200,#eaecf0);margin-bottom:30px;padding-bottom:20px}.dashboard-header h1{color:#101828;color:var(--Gray-900,#101828);font-size:32px;font-weight:600;margin:0 0 8px}.dashboard-header p{color:#475467;color:var(--Gray-600,#475467);font-size:16px;margin:0 0 16px}.admin-header-actions{align-items:center;display:flex;gap:20px;justify-content:center}.impersonate-user-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.impersonate-user-btn:hover{background:#c82333;transform:scale(1.02)}.back-link{align-items:center;color:#57534e;color:var(--Primary-600,#57534e);display:inline-flex;font-weight:500;gap:4px;text-decoration:none}.back-link:hover{color:#44403c;color:var(--Primary-700,#44403c)}.error-message{align-items:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;display:flex;justify-content:space-between;margin-bottom:20px;padding:16px}.badge-display{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.badge-icon{background:#f9fafb;border:1px solid #e5e7eb;border-radius:4px;cursor:pointer;height:24px;overflow:hidden;padding:2px;position:relative;transition:all .2s ease;width:24px}.badge-icon:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000001a;transform:scale(1.1);z-index:10}.badge-icon img{height:100%;object-fit:contain;width:100%}.close-error{background:none;border:none;color:#991b1b;cursor:pointer;font-size:20px}.close-error:hover{color:#7f1d1d}.loading-container{align-items:center;color:#667085;color:var(--Gray-500,#667085);display:flex;font-size:18px;justify-content:center;min-height:200px}.loading-container i{margin-right:8px}.dashboard-stats{align-items:center!important;background:#fff!important;border:1px solid #eaecf0!important;border:1px solid var(--Gray-200,#eaecf0)!important;border-radius:12px!important;box-shadow:0 1px 3px #1018281a!important;display:flex!important;gap:32px!important;justify-content:space-around!important;margin-bottom:30px!important;padding:24px!important}.filter-card{background:#fff;border:1px solid #eaecf0;border:1px solid var(--Gray-200,#eaecf0);border-radius:12px;box-shadow:0 1px 3px #1018281a;margin-bottom:30px;padding:24px}.filter-card h3{color:#101828;color:var(--Gray-900,#101828);font-size:18px;font-weight:600;margin:0 0 16px}.filter-card-content{align-items:center;display:flex;flex-wrap:wrap;gap:32px}.filter-group,.filter-group .filter-toggle{align-items:center;display:flex;gap:8px}.filter-group .filter-toggle{color:#344054;color:var(--Gray-700,#344054);cursor:pointer;font-size:14px;font-weight:500}.filter-group .filter-toggle input[type=checkbox]{cursor:pointer;height:16px;width:16px}.filter-group .user-type-filter{align-items:center;display:flex;gap:8px}.filter-group .user-type-filter label{color:#344054;color:var(--Gray-700,#344054);font-size:14px;font-weight:500;white-space:nowrap}.filter-group .filter-select{background-color:#fff;border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);border-radius:6px;color:#101828;color:var(--Gray-900,#101828);cursor:pointer;font-size:14px;min-width:120px;padding:8px 12px;transition:all .2s ease}.filter-group .filter-select:focus{border-color:#6366f1;border-color:var(--Primary-500,#6366f1);box-shadow:0 0 0 3px #6366f11a;outline:none}.stat-card{align-items:center!important;border-radius:8px!important;display:flex!important;flex:1 1!important;flex-direction:column!important;padding:16px!important;position:relative!important;text-align:center!important;transition:all .2s ease!important}.stat-card:not(:last-child):after{background-color:#eaecf0;background-color:var(--Gray-200,#eaecf0);bottom:20%;content:"";position:absolute;right:0;top:20%;width:1px}.stat-card:hover{background-color:#fcfcfd!important;background-color:var(--Gray-25,#fcfcfd)!important}.stat-card h3{color:#475467!important;color:var(--Gray-600,#475467)!important;font-size:14px!important;font-weight:500!important;letter-spacing:.5px!important;margin:0 0 8px!important;text-transform:uppercase!important}.stat-number{color:#101828!important;color:var(--Gray-900,#101828)!important;font-size:36px!important;font-weight:700!important;line-height:1!important;margin:0!important}.table-container{background:#fff;border:1px solid #eaecf0;border:1px solid var(--Gray-200,#eaecf0);border-radius:12px;box-shadow:0 1px 3px #1018281a;margin-bottom:24px;overflow-x:auto}.generations-table{border-collapse:collapse;width:100%}.generations-table thead{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb)}.generations-table th{border-bottom:1px solid #eaecf0;border-bottom:1px solid var(--Gray-200,#eaecf0);color:#475467;color:var(--Gray-600,#475467);font-size:12px;font-weight:600;padding:16px 12px;text-align:left;text-transform:uppercase}.generations-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.generations-table th.sortable:hover{color:#101828;color:var(--Gray-900,#101828)}.generations-table th.sortable.active{color:#57534e;color:var(--Primary-600,#57534e)}.generations-table td{border-bottom:1px solid #f2f4f7;border-bottom:1px solid var(--Gray-100,#f2f4f7);color:#344054;color:var(--Gray-700,#344054);font-size:14px;padding:16px 12px;vertical-align:middle}.generations-table tbody tr:last-child td{border-bottom:none}.generations-table tbody tr:hover{background-color:#fcfcfd;background-color:var(--Gray-25,#fcfcfd)}.status-badge{align-items:center;border-radius:16px;display:inline-flex;font-size:12px;font-weight:600;padding:2px 10px;text-transform:uppercase}.status-badge.pending{background-color:#fef3c7;color:#92400e}.status-badge.processing{background-color:#dbeafe;color:#1e40af}.status-badge.completed{background-color:#d1fae5;color:#065f46}.status-badge.failed{background-color:#fee2e2;color:#991b1b}.status-badge.creating_geodata,.status-badge.creating_preview,.status-badge.fetching_strava_data,.status-badge.generating_image,.status-badge.storing_image{background-color:#e0e7ff;color:#4f46e5}.template-badge{align-items:center;background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;color:#4b5563;display:inline-flex;font-size:11px;font-weight:600;gap:4px;max-width:120px;overflow:hidden;padding:2px 8px;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.template-badge i{flex-shrink:0;font-size:12px}.bonus-info{display:flex;flex-direction:column;gap:4px}.bonus-item{align-items:center;display:flex}.bonus-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:2px 8px;text-transform:none;white-space:nowrap}.bonus-badge i{flex-shrink:0;font-size:12px}.email-bonus{background-color:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.watermark-bonus{background-color:#ecfdf5;border:1px solid #bbf7d0;color:#059669}.strava-bonus{background-color:#fef3c7;border:1px solid #fde68a;color:#d97706}.user-info{flex-direction:column;gap:4px}.user-name{color:#101828;color:var(--Gray-900,#101828);font-weight:500}.user-email{color:#667085;color:var(--Gray-500,#667085);font-size:12px}.admin-badge{background-color:#f5f5f4;background-color:var(--Primary-100,#f5f5f4);border-radius:4px;color:#44403c;color:var(--Primary-700,#44403c);display:inline-block;font-size:10px;font-weight:600;margin-left:6px;padding:2px 6px;text-transform:uppercase}.activity-info{display:flex;flex-direction:column;gap:4px}.activity-name{color:#101828;color:var(--Gray-900,#101828);font-weight:500}.activity-id{color:#667085;color:var(--Gray-500,#667085);font-size:12px}.action-buttons{align-items:center;display:flex;gap:8px}.view-button{align-items:center;background-color:#57534e;background-color:var(--Primary-600,#57534e);border:none;border-radius:6px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;height:32px;justify-content:center;padding:6px 12px;text-decoration:none;transition:background-color .2s ease}.view-button:hover{background-color:#44403c;background-color:var(--Primary-700,#44403c)}.pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:24px}.pagination-button{background-color:#fff;border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);border-radius:6px;color:#344054;color:var(--Gray-700,#344054);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.pagination-button:hover:not(:disabled){background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);border-color:#98a2b3;border-color:var(--Gray-400,#98a2b3)}.pagination-button:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:#344054;color:var(--Gray-700,#344054);font-size:14px}.expand-button{align-items:center;background-color:#eef2ff;background-color:var(--Primary-50,#eef2ff);border:1px solid #a5b4fc;border:1px solid var(--Primary-300,#a5b4fc);border-radius:4px;color:#4f46e5;color:var(--Primary-600,#4f46e5);cursor:pointer;display:flex;font-size:16px;font-weight:600;height:24px;justify-content:center;transition:all .2s ease;width:24px}.expand-button:hover{background-color:#e0e7ff;background-color:var(--Primary-100,#e0e7ff);border-color:#818cf8;border-color:var(--Primary-400,#818cf8)}.expanded-row td{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);padding:0}.expanded-content{padding:24px}.expanded-section{margin-bottom:24px}.expanded-section:last-child{margin-bottom:0}.expanded-section h4{color:#101828;color:var(--Gray-900,#101828);font-size:16px;font-weight:600;margin:0 0 12px}.detail-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.detail-grid>div{color:#344054;color:var(--Gray-700,#344054);font-size:14px}.detail-grid strong{color:#101828;color:var(--Gray-900,#101828);font-weight:500}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:12px}.stat-item{border:1px solid #eaecf0;border:1px solid var(--Gray-200,#eaecf0);padding:12px}.stat-label{color:#667085;color:var(--Gray-500,#667085);font-size:12px;margin-bottom:4px}.stat-value{font-size:16px}.images-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:16px}.image-item{align-items:center;background-color:#fff;border:1px solid #eaecf0;border:1px solid var(--Gray-200,#eaecf0);border-radius:8px;display:flex;flex-direction:column;padding:16px;text-align:center}.image-item strong{color:#101828;color:var(--Gray-900,#101828);display:block;margin-bottom:8px}.thumbnail{border-radius:6px;height:auto;margin-bottom:8px;max-width:300px;width:100%}.download-button{align-items:center;background-color:#344054;background-color:var(--Gray-700,#344054);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:6px 12px;transition:background-color .2s ease}.download-button:hover{background-color:#101828;background-color:var(--Gray-900,#101828)}.search-section{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);border:1px solid #eaecf0;border:1px solid var(--Gray-200,#eaecf0);border-radius:12px;margin-bottom:24px;padding:24px}.search-label{color:#344054;color:var(--Gray-700,#344054);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.search-bar{gap:12px!important;margin-bottom:16px!important;min-height:44px!important}.search-bar,.search-input{align-items:center!important;display:flex!important}.search-input{background-color:#fff;border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);border-radius:8px;box-sizing:border-box!important;height:44px!important;line-height:1.2;padding:10px 14px}.search-input:focus{border-color:#6366f1;border-color:var(--Primary-500,#6366f1);box-shadow:0 0 0 3px #6366f11a}.search-button{align-items:center!important;background-color:#57534e;background-color:var(--Primary-600,#57534e);border:none;border-radius:8px;box-sizing:border-box!important;color:#fff;cursor:pointer;display:inline-flex!important;font-size:14px;font-weight:500;height:44px!important;justify-content:center!important;line-height:1;padding:10px 20px;transition:background-color .2s ease;white-space:nowrap}.search-button:hover:not(:disabled){background-color:#44403c;background-color:var(--Primary-700,#44403c)}.search-button:disabled{background-color:#d0d5dd;background-color:var(--Gray-300,#d0d5dd);cursor:not-allowed}.search-all-button{align-items:center;background-color:#57534e;background-color:var(--Primary-600,#57534e);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:10px 20px;transition:background-color .2s ease}.search-all-button:hover:not(:disabled){background-color:#44403c;background-color:var(--Primary-700,#44403c)}.search-all-button:disabled{background-color:#d0d5dd;background-color:var(--Gray-300,#d0d5dd);cursor:not-allowed}.clear-button{align-items:center;background-color:#fff;border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);border-radius:8px;box-sizing:border-box;color:#344054;color:var(--Gray-700,#344054);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;height:44px;justify-content:center;line-height:1;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.clear-button:hover{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);border-color:#98a2b3;border-color:var(--Gray-400,#98a2b3)}.checkbox-container{align-items:center;box-sizing:border-box;display:flex;gap:8px;height:44px;padding:0}.checkbox-container input[type=checkbox]{cursor:pointer;height:16px;width:16px}.checkbox-container label{color:#344054;color:var(--Gray-700,#344054);cursor:pointer;font-size:14px}.filter-options{margin-top:16px}.filter-row{flex-wrap:wrap;gap:24px;justify-content:space-between}.filter-row,.filter-toggle{align-items:center;display:flex}.filter-toggle{color:#344054;color:var(--Gray-700,#344054);cursor:pointer;font-size:14px;gap:8px}.filter-toggle input[type=checkbox]{cursor:pointer;height:16px;width:16px}.user-type-filter{align-items:center;display:flex;gap:8px}.user-type-filter label{color:#344054;color:var(--Gray-700,#344054);font-size:14px;font-weight:500;white-space:nowrap}.filter-select{background-color:#fff;border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);border-radius:6px;color:#101828;color:var(--Gray-900,#101828);cursor:pointer;font-size:14px;min-width:120px;padding:8px 12px;transition:all .2s ease}.filter-select:focus{border-color:#6366f1;border-color:var(--Primary-500,#6366f1);box-shadow:0 0 0 3px #6366f11a;outline:none}.search-results-info{color:#475467;color:var(--Gray-600,#475467);font-size:14px;margin-top:12px}.search-error{align-items:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;display:flex;font-size:14px;gap:8px;margin-top:12px;padding:12px}.system-user{color:#2563eb;color:var(--Blue-600,#2563eb);font-weight:500}.test-badge{background-color:#dbeafe;background-color:var(--Blue-100,#dbeafe);color:#1d4ed8;color:var(--Blue-700,#1d4ed8)}.regeneration-badge,.test-badge{border-radius:4px;display:inline-block;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.regeneration-badge{background-color:#ede9fe;background-color:var(--Purple-100,#ede9fe);color:#6b21a8;color:var(--Purple-700,#6b21a8)}.compare-button{align-items:center;background-color:#2563eb;background-color:var(--Blue-600,#2563eb);border:none;border-radius:6px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;height:32px;justify-content:center;padding:6px 12px;text-decoration:none;transition:background-color .2s ease}.compare-button:hover{background-color:#1d4ed8;background-color:var(--Blue-700,#1d4ed8)}.ti-loader{animation:spin 1s linear infinite}.new-generation{background-color:#e0f2fe!important;position:relative}.new-generation:before{background-color:#0284c7;border-radius:4px;color:#fff;content:"NEW";font-size:10px;font-weight:600;left:-40px;padding:2px 6px;position:absolute;top:50%;transform:translateY(-50%)}.generation-row{transition:background-color .3s ease}.watermark-badge{align-items:center;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;color:#374151;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:2px 8px}.watermark-badge i{font-size:12px}.row-watermark-indicator{align-items:center;background-color:#d1fae5;border:1px solid #a7f3d0;border-radius:4px;color:#10b981;cursor:help;display:flex;font-size:12px;height:20px;justify-content:center;width:20px}.row-watermark-indicator:hover{background-color:#a7f3d0;color:#059669}.tab-navigation{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);border-radius:8px;display:flex;gap:4px;margin-bottom:24px;padding:4px}.tab-button{align-items:center;background-color:initial;border:none;border-radius:6px;box-sizing:border-box;color:#475467;color:var(--Gray-600,#475467);cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;height:44px;justify-content:center;padding:10px 16px;transition:all .2s ease}.tab-button:hover:not(.active){background-color:#f2f4f7;background-color:var(--Gray-100,#f2f4f7);color:#344054;color:var(--Gray-700,#344054)}.tab-button.active{background-color:#fff;box-shadow:0 1px 2px #1018280d;color:#101828;color:var(--Gray-900,#101828)}.user-management-section{margin-top:24px}.user-search{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);border:1px solid #eaecf0;border:1px solid var(--Gray-200,#eaecf0);border-radius:12px;margin-bottom:24px;padding:24px}.user-search h3{color:#101828;color:var(--Gray-900,#101828);font-size:18px;font-weight:600;margin:0 0 16px}.search-section .search-controls{align-items:center!important;display:flex!important;gap:12px!important;margin-bottom:16px!important;min-height:44px!important}.user-search .search-controls{align-items:center;display:flex;gap:12px;min-height:44px}.users-table-container{background:#fff;border:1px solid #eaecf0;border:1px solid var(--Gray-200,#eaecf0);border-radius:12px;box-shadow:0 1px 3px #1018281a;overflow:hidden}.users-table-container h3{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);border-bottom:1px solid #eaecf0;border-bottom:1px solid var(--Gray-200,#eaecf0);color:#101828;color:var(--Gray-900,#101828);font-size:16px;font-weight:600;margin:0;padding:24px}.users-table{border-collapse:collapse;width:100%}.users-table thead{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb)}.users-table th{border-bottom:1px solid #eaecf0;border-bottom:1px solid var(--Gray-200,#eaecf0);color:#475467;color:var(--Gray-600,#475467);font-size:12px;font-weight:600;padding:16px 20px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #f2f4f7;border-bottom:1px solid var(--Gray-100,#f2f4f7);color:#344054;color:var(--Gray-700,#344054);font-size:14px;padding:24px 20px;vertical-align:middle}.users-table tbody tr:last-child td{border-bottom:none}.users-table tbody tr:hover{background-color:#fcfcfd;background-color:var(--Gray-25,#fcfcfd)}.user-uid{color:#98a2b3;color:var(--Gray-400,#98a2b3);font-family:monospace;font-size:12px}.account-status{display:flex;flex-direction:column;gap:6px}.status-indicator{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:600;padding:2px 8px;width:-webkit-fit-content;width:fit-content}.status-indicator.active{background-color:#d1fae5;color:#065f46}.status-indicator.disabled{background-color:#fee2e2;color:#991b1b}.verification-status{color:#475467;color:var(--Gray-600,#475467);font-size:12px}.account-dates{color:#667085;color:var(--Gray-500,#667085);font-size:12px}.account-dates>div{margin-top:2px}.usage-info{display:flex;flex-direction:column;gap:4px}.current-count{color:#101828;color:var(--Gray-900,#101828);font-weight:600}.month-info{color:#667085;color:var(--Gray-500,#667085);font-size:12px}.limit-info{display:flex;flex-direction:column;gap:4px}.effective-limit{color:#101828;color:var(--Gray-900,#101828);font-size:16px}.limit-source{color:#667085;color:var(--Gray-500,#667085);font-size:12px}.limit-editor,.user-actions{align-items:center;display:flex;gap:8px}.editor-input{position:relative}.limit-input{align-items:center;border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);border-radius:6px;box-sizing:border-box;display:flex;font-size:14px;height:32px;padding:6px 12px;text-align:center;width:80px}.limit-input:focus{border-color:#6366f1;border-color:var(--Primary-500,#6366f1);box-shadow:0 0 0 3px #6366f11a;outline:none}.editor-buttons{display:flex;gap:6px}.cancel-button,.reset-button,.save-button{align-items:center;border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;height:32px;justify-content:center;padding:6px 12px;transition:all .2s ease}.save-button{background-color:#16a34a;background-color:var(--Green-600,#16a34a);border:none;color:#fff}.save-button:hover:not(:disabled){background-color:#15803d;background-color:var(--Green-700,#15803d)}.cancel-button{background-color:#fff;border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);color:#344054;color:var(--Gray-700,#344054)}.cancel-button:hover:not(:disabled){background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb)}.reset-button{background-color:#ea580c;background-color:var(--Orange-600,#ea580c);border:none;color:#fff}.reset-button:hover:not(:disabled){background-color:#c2410c;background-color:var(--Orange-700,#c2410c)}.edit-limit-button{align-items:center;background-color:#f2f4f7;background-color:var(--Gray-100,#f2f4f7);border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);border-radius:6px;box-sizing:border-box;color:#344054;color:var(--Gray-700,#344054);cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;height:32px;justify-content:center;padding:6px 12px;transition:all .2s ease}.edit-limit-button:hover:not(:disabled){background-color:#eaecf0;background-color:var(--Gray-200,#eaecf0);border-color:#98a2b3;border-color:var(--Gray-400,#98a2b3)}.limit-display{align-items:center;display:flex}.search-type-selector{align-items:center!important;display:flex!important;gap:12px!important;height:44px!important;margin-bottom:16px!important}.search-type-selector label{color:#344054!important;color:var(--Gray-700,#344054)!important;font-size:14px!important;font-weight:500!important;justify-content:center!important;line-height:1!important;margin:0!important;padding:0!important;white-space:nowrap!important}.search-type-select,.search-type-selector label{align-items:center!important;box-sizing:border-box!important;display:flex!important;height:44px!important}.search-type-select{background-color:#fff;border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);border-radius:8px;color:#101828;color:var(--Gray-900,#101828);cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s ease}.search-type-select:focus{border-color:#6366f1;border-color:var(--Primary-500,#6366f1);box-shadow:0 0 0 3px #6366f11a;outline:none}.advanced-search-toggle{align-items:center!important;background-color:#fff;border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);border-radius:8px;box-sizing:border-box!important;color:#344054;color:var(--Gray-700,#344054);cursor:pointer;display:inline-flex!important;font-size:14px;font-weight:500;gap:6px;height:44px!important;justify-content:center!important;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.advanced-search-toggle:hover{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);border-color:#98a2b3;border-color:var(--Gray-400,#98a2b3)}.advanced-search-toggle i{font-size:16px}.date-input,.number-input{align-items:center;background-color:#fff;border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);border-radius:8px;box-sizing:border-box;color:#101828;color:var(--Gray-900,#101828);display:flex;font-size:14px;height:44px;padding:10px 14px;transition:all .2s ease}.date-input:focus,.number-input:focus{border-color:#6366f1;border-color:var(--Primary-500,#6366f1);box-shadow:0 0 0 3px #6366f11a;outline:none}.date-input:disabled,.number-input:disabled{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);cursor:not-allowed}.date-separator,.range-separator{color:#475467;color:var(--Gray-600,#475467);font-size:14px;font-weight:500}.advanced-search-info{background-color:#eff6ff;background-color:var(--Blue-50,#eff6ff);border:1px solid #bfdbfe;border:1px solid var(--Blue-200,#bfdbfe);border-radius:8px;margin-top:12px;padding:12px 16px}.advanced-search-info p{align-items:center;color:#1d4ed8;color:var(--Blue-700,#1d4ed8);display:flex;font-size:13px;gap:8px;margin:0}.advanced-search-info i{flex-shrink:0;font-size:16px}.delete-user-button{align-items:center;background-color:#dc2626;border:none;border-radius:6px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;height:32px;justify-content:center;padding:6px 12px;transition:all .2s ease}.delete-user-button:hover:not(:disabled){background-color:#b91c1c}.delete-user-button:disabled{background-color:#d0d5dd;background-color:var(--Gray-300,#d0d5dd);cursor:not-allowed}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#fff;border-radius:12px;max-height:90vh;max-width:500px;overflow-y:auto;padding:32px;width:90%}.delete-modal h2{color:#101828;color:var(--Gray-900,#101828);font-size:24px;font-weight:600;margin:0 0 24px}.warning-banner{align-items:center;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.warning-banner i{color:#dc2626;font-size:20px}.warning-banner p{color:#991b1b;font-weight:600;margin:0}.deletion-details{margin-bottom:24px}.deletion-details h4{color:#101828;color:var(--Gray-900,#101828);font-size:16px;font-weight:600;margin:16px 0 8px}.deletion-details ul{color:#475467;color:var(--Gray-600,#475467);margin:0;padding-left:20px}.deletion-details li{margin:4px 0}.user-info-modal{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);border-radius:8px;margin-bottom:16px;padding:16px}.user-info-modal p{color:#344054;color:var(--Gray-700,#344054);margin:4px 0}.info-text{align-items:center;background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);border-radius:8px;color:#475467;color:var(--Gray-600,#475467);display:flex;font-size:14px;gap:8px;margin:16px 0 0;padding:12px}.info-text i{color:#667085;color:var(--Gray-500,#667085)}.confirmation-input{margin-bottom:24px}.confirmation-input label{color:#344054;color:var(--Gray-700,#344054);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.confirmation-input input{background-color:#fff;border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);border-radius:8px;font-size:16px;padding:10px 14px;width:100%}.confirmation-input input:focus{border-color:#d6d3d1;border-color:var(--Primary-300,#d6d3d1);box-shadow:0 0 0 3px #f5f5f4;box-shadow:0 0 0 3px var(--Primary-100,#f5f5f4);outline:none}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-delete-button{background-color:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.confirm-delete-button:hover:not(:disabled){background-color:#b91c1c}.confirm-delete-button:disabled{background-color:#d0d5dd;background-color:var(--Gray-300,#d0d5dd);cursor:not-allowed}@media (max-width:768px){.search-section .search-controls{align-items:stretch;flex-direction:column;gap:16px}.search-type-selector{height:auto;justify-content:space-between;width:100%}.search-type-select{flex:1 1;height:44px}.advanced-search-toggle{height:44px;justify-content:center;width:100%}.search-bar{align-items:stretch;flex-direction:column;gap:16px}.date-input,.number-input{width:100%}.date-separator,.range-separator{margin:8px 0;text-align:center}.filter-card-content{align-items:stretch;flex-direction:column;gap:16px}.filter-group{justify-content:space-between;width:100%}.filter-group .user-type-filter{flex:1 1;justify-content:space-between}.filter-group .filter-select{flex:1 1;min-width:auto}.dashboard-stats{flex-direction:column;gap:20px;padding:20px}.stat-card{padding:12px}.stat-card:not(:last-child):after{display:none}.stat-number{font-size:28px}}.admin-actions-section{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--Gray-200,#e5e7eb);border-radius:12px;margin:24px 0;padding:24px}.admin-actions-section h3{color:#101828;color:var(--Gray-900,#101828);font-size:18px;font-weight:600;margin:0 0 16px}.danger-zone-actions{display:flex;flex-direction:column;gap:12px}.reset-all-credits-button{align-items:center;background-color:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease;width:-webkit-fit-content;width:fit-content}.reset-all-credits-button:hover:not(:disabled){background-color:#b91c1c}.reset-all-credits-button:disabled{background-color:#d0d5dd;background-color:var(--Gray-300,#d0d5dd);cursor:not-allowed}.reset-all-credits-button i{font-size:18px}.action-description{color:#475467;color:var(--Gray-600,#475467);font-size:13px;line-height:1.5;margin:0}.reset-modal h2{color:#101828;color:var(--Gray-900,#101828);font-size:24px;font-weight:600;margin:0 0 24px}.reset-details{margin-bottom:24px}.reset-details h4{color:#101828;color:var(--Gray-900,#101828);font-size:16px;font-weight:600;margin:16px 0 8px}.reset-details ul{color:#475467;color:var(--Gray-600,#475467);margin:0;padding-left:20px}.reset-details li{margin:4px 0}.confirm-reset-button{background-color:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.confirm-reset-button:hover:not(:disabled){background-color:#b91c1c}.confirm-reset-button:disabled{background-color:#d0d5dd;background-color:var(--Gray-300,#d0d5dd);cursor:not-allowed}.success-banner{align-items:center;background-color:#d1fae5;border:1px solid #a7f3d0;border-radius:8px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.success-banner i{color:#10b981;font-size:20px}.success-banner p{color:#047857;font-weight:600;margin:0}.reset-summary{margin-bottom:24px}.reset-summary h4{color:#101828;color:var(--Gray-900,#101828);font-size:16px;font-weight:600;margin:0 0 16px}.summary-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.stat-item{background-color:#fff;border:1px solid #e5e7eb;border:1px solid var(--Gray-200,#e5e7eb);border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.stat-item.error{background-color:#fef2f2;border-color:#fecaca}.stat-item.error .stat-label{color:#991b1b}.stat-item.error .stat-value{color:#dc2626}.stat-label{color:#475467;color:var(--Gray-600,#475467);font-size:14px}.stat-value{color:#101828;color:var(--Gray-900,#101828);font-size:14px;font-weight:600}.close-button{background-color:#6366f1;background-color:var(--Primary-600,#6366f1);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease;width:100%}.close-button:hover{background-color:#4f46e5;background-color:var(--Primary-700,#4f46e5)}.toggle-prompt-button{background-color:#e0e7ff;background-color:var(--Primary-100,#e0e7ff);border:1px solid #a5b4fc;border:1px solid var(--Primary-300,#a5b4fc);border-radius:6px;color:#4338ca;color:var(--Primary-700,#4338ca);cursor:pointer;font-size:12px;font-weight:500;padding:4px 12px;transition:all .2s ease}.toggle-prompt-button:hover{background-color:#c7d2fe;background-color:var(--Primary-200,#c7d2fe);border-color:#818cf8;border-color:var(--Primary-400,#818cf8)}.prompt-section{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);border:1px solid #eaecf0;border:1px solid var(--Gray-200,#eaecf0);border-radius:8px;margin-bottom:16px;padding:16px}.prompt-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.prompt-header strong{color:#101828;color:var(--Gray-900,#101828);font-size:14px}.copy-button{align-items:center;background-color:#fff;border:1px solid #d0d5dd;border:1px solid var(--Gray-300,#d0d5dd);border-radius:6px;color:#344054;color:var(--Gray-700,#344054);cursor:pointer;display:flex;font-size:13px;gap:6px;padding:6px 12px;transition:all .2s ease}.copy-button:hover{background-color:#f9fafb;background-color:var(--Gray-50,#f9fafb);border-color:#98a2b3;border-color:var(--Gray-400,#98a2b3)}.copy-button:active{transform:translateY(1px)}.copy-button i{font-size:14px}.prompt-text{word-wrap:break-word;background-color:#fff;border:1px solid #eaecf0;border:1px solid var(--Gray-200,#eaecf0);border-radius:6px;color:#1f2937;color:var(--Gray-800,#1f2937);font-family:Monaco,Consolas,Courier New,monospace;font-size:12px;line-height:1.6;margin:0;max-height:300px;overflow-y:auto;padding:12px;white-space:pre-wrap}.badge-overlay{align-items:center;background-color:#000000b3;display:flex;height:100%;justify-content:center;left:0;overflow:auto;padding:20px;position:fixed;top:0;width:100%;z-index:1000}.badge-overlay-content{animation:slideIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;margin:auto;max-width:500px;min-width:400px;padding:32px;position:relative;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.badge-overlay-close{align-items:center;background:#f3f4f6;background:var(--Gray-100,#f3f4f6);border:none;border-radius:8px;color:#4b5563;color:var(--Gray-600,#4b5563);cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;padding:8px;position:absolute;right:16px;top:16px;transition:all .2s;width:40px}.badge-overlay-close:hover{background-color:#e5e7eb;background-color:var(--Gray-200,#e5e7eb);color:#111827;color:var(--Gray-900,#111827)}.badge-overlay-image{margin-bottom:24px;text-align:center}.badge-overlay-image img{height:120px;object-fit:contain;width:120px}.badge-overlay-details h3{color:#111827;color:var(--Gray-900,#111827);font-size:24px;font-weight:600;margin:0 0 24px;text-align:center}.badge-detail-row{align-items:center;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--Gray-100,#f3f4f6);display:flex;justify-content:space-between;padding:12px 0}.badge-detail-row:last-child{border-bottom:none}.badge-detail-label{color:#4b5563;color:var(--Gray-600,#4b5563);font-size:14px;font-weight:500}.badge-detail-value{color:#111827;color:var(--Gray-900,#111827);font-size:14px;font-weight:600;text-align:right}@media (max-width:480px){.badge-overlay-content{min-width:0;min-width:auto;padding:24px;width:95%}.badge-overlay-image img{height:100px;width:100px}.badge-overlay-details h3{font-size:20px}}.impersonation-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.impersonation-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:800px;width:100%}.impersonation-modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:20px}.impersonation-modal-header h2{color:#333;font-size:24px;margin:0}.close-btn{align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;font-size:28px;height:30px;justify-content:center;padding:0;width:30px}.close-btn:hover{color:#000}.impersonation-modal-warning{background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:14px;margin:20px;padding:12px 20px}.impersonation-search{display:flex;gap:10px;margin-bottom:20px;padding:0 20px}.search-input{border:1px solid #ddd;border-radius:6px;flex:1 1;font-size:14px;padding:10px 15px}.search-input:focus{border-color:#007bff;outline:none}.search-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px}.search-btn:hover:not(:disabled){background:#0056b3}.search-btn:disabled{cursor:not-allowed;opacity:.6}.users-list{flex:1 1;overflow-y:auto;padding:0 20px 20px}.loading,.no-users{color:#666;font-size:16px;padding:40px;text-align:center}.users-grid{grid-gap:15px;display:grid;gap:15px}.user-card{align-items:center;border:1px solid #e0e0e0;border-radius:8px;display:flex;justify-content:space-between;padding:15px;transition:all .2s ease}.user-card:hover{border-color:#007bff;box-shadow:0 2px 8px #0000001a}.user-info{align-items:center;display:flex;flex:1 1;gap:12px}.user-avatar{border-radius:50%;height:48px;object-fit:cover;width:48px}.user-details{flex:1 1}.user-name{color:#333;font-weight:600;margin-bottom:2px}.user-email{color:#666;font-size:14px;margin-bottom:4px}.user-meta{align-items:center;color:#999;display:flex;font-size:12px;gap:10px}.strava-badge{background:#fc4c02;border-radius:4px;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.impersonate-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;white-space:nowrap}.impersonate-btn:hover:not(:disabled){background:#c82333}.impersonate-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.impersonation-modal{max-height:90vh}.user-card{align-items:flex-start;flex-direction:column;gap:10px}.impersonate-btn{width:100%}}.legal-page{background:#f9fafb;line-height:1.6;margin:0 auto;max-width:800px;min-height:100vh;padding:100px 20px 80px}.legal-page h1{color:#111827;font-size:36px;font-weight:600;margin-bottom:8px;text-align:center}.effective-date{color:#6b7280;font-size:14px;font-style:italic;margin-bottom:32px;text-align:center}.privacy-highlight{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0ea5e9;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin:24px 0 32px;overflow:hidden;padding:24px;position:relative}.privacy-highlight:before{background:linear-gradient(90deg,#0ea5e9,#10b981 50%,#0ea5e9);content:"";height:4px;left:0;position:absolute;right:0;top:0}.privacy-highlight h3{align-items:center;color:#0c4a6e;display:flex;font-size:20px;font-weight:700;gap:8px;margin-bottom:12px;margin-top:0}.privacy-highlight p{color:#0f172a;font-size:16px;line-height:1.6;margin-bottom:0}.privacy-highlight strong{color:#0c4a6e;font-weight:600}.legal-page h2{border-bottom:2px solid #e5e7eb;color:#111827;font-size:24px;font-weight:600;margin-bottom:16px;margin-top:32px;padding-bottom:8px}.legal-page h3{color:#374151;font-size:18px;font-weight:600;margin-bottom:12px;margin-top:24px}.legal-page ol,.legal-page p,.legal-page ul{color:#374151;margin-bottom:16px}.legal-page ol,.legal-page ul{padding-left:24px}.legal-page li{margin-bottom:8px}.legal-page a{color:#3b82f6;font-weight:500;text-decoration:none}.legal-page a:hover{color:#2563eb;text-decoration:underline}.legal-page strong{color:#111827;font-weight:600}.data-table{background:#fff;border:1px solid #e5e7eb;border-collapse:collapse;border-radius:12px;margin:24px 0;overflow:hidden;width:100%}.data-table th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#111827;font-weight:600;padding:16px;text-align:left}.data-table td{border-bottom:1px solid #f3f4f6;color:#374151;padding:16px}.data-table tr:last-child td{border-bottom:none}.contact-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-top:32px;padding:24px;text-align:center}.contact-section p{margin-bottom:8px}.contact-section p:last-child{margin-bottom:0}@media (max-width:768px){.legal-page{padding:80px 16px 100px}.legal-page h1{font-size:28px}.legal-page h2{font-size:20px}.legal-page h3{font-size:16px}.data-table{font-size:14px}.data-table td,.data-table th{padding:12px 8px}}.ios-download-container{align-items:center;background-color:#f9fafb;display:flex;justify-content:center;min-height:100vh;padding:20px}.ios-download-card{background-color:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;max-width:500px;padding:25px 30px;text-align:center;width:100%}.ios-download-card h1{color:#111827;font-size:24px;font-weight:600;margin-bottom:25px}.ios-image-container{border-radius:12px;box-shadow:0 4px 12px #00000014;margin:15px 0 30px;overflow:hidden;position:relative}.ios-ai-image{border-radius:12px;display:block;width:100%}.ios-touch-hint{align-items:center;animation:float 2s ease-in-out infinite;bottom:20px;display:flex;justify-content:center;position:absolute;right:20px}.pulse-circle{animation:pulse 2s infinite;background:#0000001a;border-radius:50%;height:45px;position:absolute;width:45px}.finger-icon{color:#fff;font-size:28px;position:relative;z-index:2}.ios-instructions{margin-bottom:30px;text-align:left}.instruction-step{align-items:flex-start;display:flex;margin-bottom:18px}.step-number{align-items:center;background-color:#3b82f6;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:28px;justify-content:center;margin-right:15px;width:28px}.instruction-step p{color:#374151;font-size:14px;line-height:1.6;margin:0;padding-top:2px}.instruction-step p strong{color:#111827;font-weight:500}.ios-download-card .strava-button{background-color:#fc4c02;border:none;border-radius:8px;box-shadow:0 1px 2px #0000000d;color:#fff;display:block;font-size:16px;font-weight:500;margin:25px auto;max-width:280px;padding:12px 20px;text-align:center;text-decoration:none;transition:background-color .2s}.ios-download-card .strava-button:hover{background-color:#e04500}.strava-tip{align-items:center;background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;margin-top:20px;padding:15px}.tip-icon{color:#374151;font-size:20px;margin-right:12px}.strava-tip p{color:#374151;font-size:14px;line-height:1.5;margin:0}.ios-back-button{background:#0000;border:none;border-radius:8px;color:#3b82f6;cursor:pointer;display:inline-block;font-size:14px;font-weight:500;margin-top:25px;padding:8px 12px;text-decoration:none;transition:background-color .2s ease}.ios-back-button:hover{background-color:#f3f4f6;text-decoration:underline}@keyframes pulse{0%{opacity:.7;transform:scale(.8)}50%{opacity:.4;transform:scale(1.1)}to{opacity:.7;transform:scale(.8)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.watermark-check-section{background:#f9fafb;border-radius:12px;margin-top:30px;padding:20px;text-align:center}.watermark-credit-applied{align-items:center;color:#15803d;display:flex;font-size:16px;font-weight:500;gap:12px;justify-content:center}.watermark-check-prompt{align-items:center;display:flex;flex-direction:column;gap:16px}.watermark-check-prompt p{color:#374151;font-size:16px;margin:0}.watermark-check-button{align-items:center;background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;gap:8px;padding:12px 24px;transition:all .2s}.watermark-check-button:hover:not(:disabled){background:#2563eb;transform:translateY(-1px)}.watermark-check-button:disabled{cursor:not-allowed;opacity:.6}.watermark-check-button .loading-spinner-small{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}.watermark-check-prompt small{color:#6b7280;font-size:14px;margin:0}.watermark-check-in-progress{align-items:center;color:#374151;display:flex;font-size:16px;gap:12px;justify-content:center}.watermark-check-error{align-items:center;color:#dc2626;display:flex;flex-direction:column;font-size:16px;gap:8px;text-align:center}.watermark-check-button.retry{background:#dc2626;font-size:14px;padding:8px 16px}.watermark-check-button.retry:hover:not(:disabled){background:#b91c1c}.dialog-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.dialog-container{animation:dialogSlideIn .2s ease-out;max-width:400px;width:100%}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-content{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a;overflow:hidden}.dialog-header{align-items:center;display:flex;gap:12px;padding:24px 24px 16px}.dialog-icon{flex-shrink:0}.dialog-content.success .dialog-icon{color:#16a34a}.dialog-content.error .dialog-icon{color:#dc2626}.dialog-content.info .dialog-icon{color:#3b82f6}.dialog-title{color:#111827;font-size:18px;font-weight:600;line-height:1.5;margin:0}.dialog-body{padding:0 24px 20px}.dialog-message{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.dialog-actions{border-top:1px solid #f3f4f6;display:flex;gap:12px;justify-content:flex-end;padding:20px 24px 24px}.dialog-button{border:1px solid;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s ease}.dialog-button.primary{background:#3b82f6;border-color:#3b82f6;color:#fff}.dialog-button.primary:hover{background:#2563eb;border-color:#2563eb}.dialog-content.success{border-top:4px solid #16a34a}.dialog-content.success .dialog-title{color:#16a34a}.dialog-content.error{border-top:4px solid #dc2626}.dialog-content.error .dialog-header{background:#fef2f2}.dialog-content.info{border-top:4px solid #3b82f6}.dialog-content.info .dialog-title{color:#3b82f6}.loading-spinner-small{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.App{display:flex;flex-direction:column;height:100%}.main-content{-webkit-overflow-scrolling:touch;box-sizing:border-box;flex:1 1;overflow-y:auto;padding-bottom:calc(88px + env(safe-area-inset-bottom))}.login-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.login-modal{background:#fff;border-radius:16px;box-shadow:0 20px 50px #0000004d;max-width:400px;padding:40px 32px;position:relative;text-align:center;width:100%}.modal-close{align-items:center;background:#f3f4f6;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .2s;width:32px}.modal-close:hover{background:#e5e7eb}.login-modal h2{color:#111827;font-size:1.5rem;margin:0 0 12px}.login-modal p{color:#6b7280;font-size:1rem;margin:0 0 24px}.modal-strava-button{background:#0000;border:none;cursor:pointer;padding:0;transition:opacity .2s}.modal-strava-button:hover{opacity:.9}.container{margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem;width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}
/*# sourceMappingURL=main.8fac2152.css.map*/