@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);:root{--bg-primary:#faf9f6;--bg-secondary:#f5f0e8;--bg-tertiary:#efe8dc;--bg-card:#fff;--bg-sakura:#f5e6e6;--bg-sakura-light:#fce8e8;--text-primary:#2c2c2c;--text-secondary:#4a4a4a;--text-tertiary:#6b6b6b;--text-muted:#8a8078;--border-primary:#e8ddd0;--border-secondary:#d4c4b0;--border-rose:#e8c4c4;--accent-primary:#8b9dc3;--accent-primary-hover:#7a8a9e;--accent-gold:#c4956a;--accent-gold-dark:#b8845a;--accent-rose:#c98b8b;--accent-rose-light:#d4a0a0;--sakura-dark:#7a4a4a;--sakura-mid:#8a6060;--color-error:#dc2626;--color-error-dark:#b91c1c;--color-error-light:#ef4444;--color-error-bg:#fef2f2;--color-error-border:#fecaca;--color-error-text:#991b1b;--color-success:#10b981;--color-success-dark:#16a34a;--color-warning:#f59e0b;--color-strava:#fc4c02;--color-strava-alt:#fc5200;--color-strava-hover:#e04402;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 1px 3px #0000001a;--shadow-lg:0 4px 12px #0000001a;--shadow-xl:0 20px 50px #0000004d;--focus-ring:0 0 0 3px #8b9dc31a}*{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:#faf9f6;background:var(--bg-primary);color:#2c2c2c;color:var(--text-primary);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:#f5f0e8;background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:#d4c4b0;background:var(--border-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#8a8078;background:var(--text-muted)}:focus{outline:2px solid #0000;outline-offset:2px}:focus-visible{outline:2px solid #8b9dc3;outline:2px solid var(--accent-primary);outline-offset:2px}.navbar-desktop{background:var(--bg-primary);border-bottom:1px solid var(--border-primary);display:none;left:0;position:fixed;right:0;top:0;transition:top .3s ease;z-index:50}body.impersonating .navbar-desktop{top:50px}.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:var(--text-primary);font-size:1.5rem;font-weight:700}.navbar-icons{flex:1 1;gap:1.5rem;justify-content:flex-end}.nav-icon,.navbar-icons{align-items:center;display:flex}.nav-icon{border-radius:8px;color:var(--text-tertiary);justify-content:center;padding:8px;position:relative;text-decoration:none;transition:all .2s ease}.nav-icon:hover{background:var(--bg-secondary)}.nav-icon.active,.nav-icon:hover{color:var(--text-primary)}.nav-tooltip{border:1px solid var(--border-primary);border-radius:10px;box-shadow:0 4px 16px #0000001f;display:flex;flex-direction:column;gap:2px;opacity:0;padding:10px 14px;pointer-events:none;top:calc(100% + 10px);transform:translateX(-50%);transform:translateX(-50%) translateY(-4px);transition:opacity .15s ease,transform .15s ease;white-space:nowrap;z-index:1000}.nav-tooltip,.nav-tooltip:before{background:var(--bg-primary);left:50%;position:absolute}.nav-tooltip:before{border-left:1px solid var(--border-primary);border-top:1px solid var(--border-primary);content:"";height:8px;top:-5px;transform:translateX(-50%) rotate(45deg);width:8px}.nav-icon:hover .nav-tooltip{opacity:1;transform:translateX(-50%) translateY(0)}.nav-tooltip-title{color:var(--text-primary);font-size:13px;font-weight:600}.nav-tooltip-desc{color:var(--text-secondary);font-size:12px;font-weight:400}.nav-login-button{align-items:center;background:#0000;border:2px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);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:var(--text-primary);color:var(--text-primary);transform:translateY(-1px)}.nav-avatar-img{border:2px solid var(--border-primary);border-radius:50%;height:28px;object-fit:cover;transition:all .2s ease;width:28px}.nav-icon.active .nav-avatar-img,.nav-icon:hover .nav-avatar-img{border-color:var(--text-primary)}.nav-icon-diamonds{color:var(--accent-primary);gap:4px}.nav-diamond-badge{color:var(--text-primary);font-size:13px;font-weight:700;line-height:1;min-width:14px;text-align:center;transition:all .2s ease}.nav-diamond-badge.animate{animation:badgePulse .6s ease-in-out}.navbar-mobile-header{background:var(--bg-primary);border-bottom:1px solid var(--border-primary);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;transition:top .3s ease;z-index:50}body.impersonating .navbar-mobile-header{padding-top:12px;top:50px}.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:var(--text-primary);font-size:1.25rem;font-weight:700}.navbar-mobile{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:var(--bg-primary);border-top:1px solid var(--border-primary);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{flex-wrap:nowrap;justify-content:space-around;width:100%}.nav-icon-mobile,.navbar-mobile-items{align-items:center;display:flex;gap:2px}.nav-icon-mobile{color:var(--text-tertiary);flex:1 1;flex-direction:column;justify-content:center;padding:6px 8px;text-decoration:none;transition:all .2s ease}.nav-icon-text{color:inherit;font-size:10px;font-weight:600;white-space:nowrap}.nav-icon-mobile.active{color:var(--text-primary)}.nav-avatar-img-mobile{border:2px solid var(--border-primary);border-radius:50%;height:24px;object-fit:cover;transition:all .2s ease;width:24px}.nav-icon-mobile.active .nav-avatar-img-mobile{border-color:var(--text-primary)}@keyframes badgePulse{0%,to{transform:scale(1)}50%{color:var(--accent-primary);transform:scale(1.15)}}.navbar-mobile-items-logged-out{justify-content:center;width:100%}.mobile-login-btn{align-items:center;background:var(--bg-primary);border:2px solid var(--border-primary);border-radius:8px;box-sizing:border-box;color:var(--text-secondary);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:var(--text-primary);color:var(--text-primary);transform:translateY(-2px)}@keyframes ctaIconPulse{0%,to{filter:drop-shadow(0 0 0 currentColor);transform:scale(1)}50%{filter:drop-shadow(0 0 2px currentColor);transform:scale(1.09)}}.nav-cta-create{color:var(--accent-gold)}.nav-cta-challenge{color:var(--accent-primary)}.nav-cta-glow svg{animation:ctaIconPulse 2.5s ease-in-out infinite}.nav-cta-glow.nav-cta-challenge svg{animation-delay:1.25s}.nav-cta-static svg{animation:none}.nav-icon-mobile.nav-cta-glow:hover,.nav-icon-mobile.nav-cta-static:hover,.nav-icon.nav-cta-glow:hover,.nav-icon.nav-cta-static:hover{color:var(--text-primary)}.nav-icon-mobile.nav-cta-glow:hover svg,.nav-icon.nav-cta-glow:hover svg{animation:none;filter:none}.nav-icon-mobile.nav-cta-glow.active,.nav-icon-mobile.nav-cta-static.active,.nav-icon.nav-cta-glow.active,.nav-icon.nav-cta-static.active{color:var(--text-primary)}.nav-icon-mobile.nav-cta-glow.active svg,.nav-icon.nav-cta-glow.active svg{animation:none;filter:none}@media (prefers-reduced-motion:reduce){.nav-cta-glow svg{animation: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}.impersonation-actions{align-items:center;display:flex;gap:10px}.end-impersonation-btn{background:#fff;border:none;border-radius:20px;color:var(--color-error-light);cursor:pointer;font-size:14px;font-weight:600;padding:6px 16px;transition:all .2s ease}.end-impersonation-btn:hover:not(:disabled){background:var(--bg-secondary);transform:scale(1.05)}.end-impersonation-btn:disabled{cursor:not-allowed;opacity:.6}.force-logout-btn{background:#fff3;border:1px solid #ffffff80;border-radius:20px;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .2s ease}.force-logout-btn:hover:not(:disabled){background:#ffffff4d;border-color:#fff;transform:scale(1.05)}.force-logout-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}.impersonation-actions{flex-wrap:wrap;justify-content:center;width:100%}.end-impersonation-btn,.force-logout-btn{flex:1 1;max-width:150px;min-width:120px}}.challenge-banner{background:linear-gradient(135deg,var(--bg-sakura),var(--bg-sakura-light));border:1px solid var(--border-rose);border-radius:12px;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:12px;margin:16px auto;max-width:600px;padding:16px 20px;text-decoration:none;transition:all .2s ease}.challenge-banner:hover{box-shadow:0 4px 12px #d4a0a040;transform:translateY(-1px)}.challenge-banner-header{align-items:center;display:flex;gap:14px}.challenge-banner-text{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.challenge-banner-title{color:var(--sakura-dark);font-size:15px;font-weight:700}.challenge-banner-description{color:var(--sakura-mid);font-size:13px;line-height:1.3}.challenge-banner-badge{background:var(--accent-rose);border-radius:999px;color:#fff;flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.challenge-banner-video{background:var(--sakura-dark);border-radius:8px;height:150px;overflow:hidden;width:100%}.challenge-banner-video-el{display:block;height:100%;object-fit:cover;width:100%}@media (max-width:640px){.challenge-banner{gap:10px;margin:12px 16px;padding:14px 16px}.challenge-banner-header{gap:12px}.challenge-banner-title{font-size:14px}.challenge-banner-description{font-size:12px}.challenge-banner-badge{font-size:9px;padding:3px 8px}.challenge-banner-video{border-radius:6px}}.post-card{background:#fff;border:1px solid var(--border-primary);border-radius:8px;margin-bottom:1.5rem;max-width:470px;overflow:hidden;width:100%}.post-header-bottom{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.post-caption{margin-bottom:8px}.post-footer-bottom{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:12px;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:var(--text-secondary);font-size:14px;font-weight:600}@media (max-width:640px){.post-card{border-bottom:8px solid var(--bg-secondary);border-left:none;border-radius:0;border-right:none;margin-bottom:0}.post-footer-bottom{gap:8px}.post-style-logo{height:26px;width:26px}.post-style-name{font-size:14px}}.footer{background-color:var(--bg-primary);border-top:1px solid var(--border-primary);color:var(--text-tertiary);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:var(--text-tertiary);font-size:14px;margin:0}.footer-legal-links{align-items:center;display:flex;gap:24px}.footer-legal-links a{color:var(--text-tertiary);font-size:14px;text-decoration:none;transition:color .2s ease}.footer-legal-links a:hover{color:var(--text-primary);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 var(--border-primary);border-radius:12px;padding:24px;transition:all .2s}.email-reward-card.claimed{background:var(--bg-primary);border-color:var(--border-secondary);opacity:.8}.email-reward-card.claimed .reward-content h4{color:var(--text-secondary)}.email-reward-card.claimed .reward-content p{color:var(--text-tertiary)}.email-reward-card.claimed .reward-input{background:var(--bg-secondary);border-color:var(--border-secondary);color:var(--text-tertiary)}.email-reward-card.claimed .reward-button{background:var(--text-muted);color:var(--text-tertiary);cursor:not-allowed}.email-reward-card.claimed .reward-button:hover{background:var(--text-muted);box-shadow:none;transform:none}.reward-form{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.reward-input{border:1px solid var(--border-secondary);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:var(--accent-primary);box-shadow:0 0 0 3px #8b9dc31a;outline:none}.reward-input:disabled{background:var(--bg-primary);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:var(--color-error);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:var(--bg-primary);min-height:100vh;padding-bottom:80px;padding-top:60px}.home-page.login-view{align-items:center;background:var(--bg-secondary);display:flex;justify-content:center;padding:0}.login-container{max-width:400px;padding:20px;width:100%}.login-card{background:#fff;border:1px solid var(--border-primary);border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:40px 32px}.login-header-section{margin-bottom:32px;text-align:center}.login-title{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0 0 12px}.login-subtitle{color:var(--text-tertiary);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 var(--border-primary);padding-top:24px;text-align:center}.login-footer p{color:var(--text-muted);font-size:.875rem;margin:0}.login-banner{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);box-shadow:0 2px 8px #0000000d;color:var(--text-primary);display:block;padding:24px 20px;text-align:center}.login-banner p{color:var(--text-secondary);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:var(--bg-primary);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 var(--bg-secondary);border-left:none;border-radius:0;border-right:none;margin-bottom:0}}.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}.segments-list{background:var(--bg-card);border-radius:12px;margin-top:16px;padding:16px}.segments-list-header{margin-bottom:12px}.segments-list-header h3{align-items:center;color:var(--text-primary);display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 4px}.segments-list-hint{color:var(--text-tertiary);font-size:12px;margin:0}.segments-list-items{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow-y:auto}.segment-item{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;cursor:pointer;padding:12px;transition:all .2s ease}.segment-item:hover{background:var(--bg-secondary);border-color:var(--border-secondary)}.segment-item.selected{background:#fff7ed;border-color:var(--color-strava-alt)}.segment-item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.segment-name-row{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.segment-name{color:var(--text-primary);font-size:14px;font-weight:500}.segment-climb-badge{border-radius:4px;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.segment-climb-badge.climb-1{background:#dcfce7;color:#166534}.segment-climb-badge.climb-2{background:#fef9c3;color:#854d0e}.segment-climb-badge.climb-3{background:#fed7aa;color:#c2410c}.segment-climb-badge.climb-4{background:var(--color-error-border);color:var(--color-error)}.segment-climb-badge.climb-5{background:#1a1a2e;color:#fff}.segment-pr-badge{background:var(--bg-sakura);color:var(--accent-gold)}.segment-kom-badge,.segment-pr-badge{border-radius:4px;font-size:10px;font-weight:600;padding:2px 6px}.segment-kom-badge{background:#fee2e2;color:var(--color-error)}.segment-stats{display:flex;flex-wrap:wrap;gap:12px}.segment-stat{align-items:center;color:var(--text-tertiary);display:flex;font-size:12px;gap:4px}.segment-stat svg{color:var(--text-muted)}.segment-stat.power,.segment-stat.power svg{color:var(--accent-gold)}.segments-list-loading{align-items:center;color:var(--text-tertiary);display:flex;flex-direction:column;font-size:14px;gap:12px;justify-content:center;padding:32px}.segments-loading-spinner{animation:spin .8s linear infinite;border:2px solid var(--border-primary);border-radius:50%;border-top-color:var(--color-strava-alt);height:24px;width:24px}.segments-list-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;padding:32px;text-align:center}.segments-list-empty svg{margin-bottom:8px}.segments-list-empty p{font-size:14px;margin:0}.segments-list-items::-webkit-scrollbar{width:6px}.segments-list-items::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.segments-list-items::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:3px}.segments-list-items::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width:480px){.segments-list{padding:12px}.segment-stats{gap:8px}.segment-stat{font-size:11px}}.create-page{background:var(--bg-primary);min-height:100vh;padding-bottom:80px;padding-top:60px}.create-container{margin:0 auto;max-width:600px;padding:1.5rem}.create-page .back-button{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:16px;padding:8px 0;transition:color .2s}.create-page .back-button:hover{color:var(--text-secondary)}.create-title{color:var(--text-primary);font-size:24px;font-weight:700;margin-bottom:2rem;text-align:center}.challenge-gen-banner{background:#22c55e1f;border:1px solid #22c55e4d;border-radius:10px;color:#22c55e;font-size:.9rem;font-weight:600;margin-bottom:1.5rem;padding:10px 16px;text-align:center}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-title{color:var(--text-secondary);font-size:16px;font-weight:600;margin:0}.calendar-icon-button{align-items:center;background:#fff;border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.calendar-icon-button:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.loading-state{color:var(--text-tertiary);padding:2rem;text-align:center}.activity-selection-section{margin-bottom:2rem}.selected-activity-container{margin-bottom:16px}.selected-activity-container .activity-card.single{align-items:center;flex-direction:row;margin:0 auto;max-width:500px;width:100%}.selected-activity-container .activity-map-preview{aspect-ratio:auto;flex-shrink:0;height:180px;width:180px}.selected-activity-container .activity-info{flex:1 1;padding:16px}.selected-activity-container .activity-name{font-size:15px;margin-bottom:6px;white-space:normal}.selected-activity-container .activity-stats{font-size:13px}.selected-activity-container .activity-date{font-size:11px}.activities-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:12px;margin-left:auto;margin-right:auto;max-width:546px}.no-activities-message{color:var(--text-tertiary);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:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:12px;color:var(--color-error);margin:20px 0;padding:40px 20px}.error-state p{font-size:14px;margin-bottom:16px}.retry-button{background:var(--accent-primary);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:var(--accent-primary-hover);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 var(--border-primary);border-radius:8px;color:var(--text-secondary);cursor:pointer;height:40px;transition:all .2s;width:40px}.activity-nav-btn:hover:not(:disabled){background:var(--bg-sakura);border-color:var(--accent-primary);color:var(--accent-primary)}.activity-nav-btn:disabled{cursor:not-allowed;opacity:.2}.page-indicator{color:var(--text-tertiary);font-size:14px;font-weight:600;min-width:60px;text-align:center}.activity-card{background:#fff;border:2px solid var(--border-primary);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .2s}.activity-card:hover:not(.disabled){border-color:var(--accent-primary);transform:translateY(-2px)}.activity-card.selected{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b9dc31a}.activity-card.single{cursor:pointer}.activity-card.disabled{cursor:not-allowed;opacity:.6}.activity-card.disabled:hover{border-color:var(--border-primary);transform:none}.activity-card.no-gps .activity-info{opacity:.8}.activity-map-preview{aspect-ratio:1;background:var(--bg-secondary);flex-shrink:0;width:100%}.activity-info{padding:8px 12px}.activity-date{color:var(--accent-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif!important;font-size:11px;text-transform:uppercase}.activity-date,.activity-name{font-weight:600;margin:0 0 4px}.activity-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-stats{color:var(--text-tertiary);font-size:11px;margin:0}.selection-check{background:var(--accent-primary);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 var(--border-primary);display:flex;justify-content:space-between;padding:20px}.calendar-header h3{color:var(--text-primary);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:var(--text-tertiary);cursor:pointer;display:flex;padding:4px;transition:all .2s}.month-nav-btn:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary)}.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:var(--text-tertiary);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 var(--border-primary);border-radius:8px;color:var(--text-secondary);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:var(--accent-primary);color:var(--accent-primary);font-weight:700}.calendar-day.selected{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.calendar-day.today{background:var(--bg-sakura)}.calendar-day:hover:not(:disabled):not(.empty){background:var(--bg-secondary);transform:scale(1.05)}.calendar-day:disabled{cursor:not-allowed;opacity:.3}.calendar-footer{border-top:1px solid var(--border-primary);display:flex;justify-content:center;padding:16px 20px}.close-calendar-btn{background:var(--bg-secondary);border:none;border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.close-calendar-btn:hover{background:var(--border-primary)}.segments-section{background:#fff;border:1px solid var(--border-primary);border-radius:12px;margin-bottom:2rem;overflow:hidden}.segments-collapse-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:background .2s;-webkit-user-select:none;user-select:none}.segments-collapse-header:hover{background:var(--bg-primary)}.segments-collapse-header.expanded{border-bottom:1px solid var(--border-primary)}.segments-collapse-title{align-items:center;color:var(--text-secondary);display:flex;font-size:14px;font-weight:600;gap:8px}.segments-collapse-title svg{color:var(--text-tertiary)}.segments-loading-indicator{animation:spin 1s linear infinite;border:2px solid var(--border-primary);border-radius:50%;border-top-color:var(--accent-primary);height:14px;width:14px}.segments-collapse-arrow{color:var(--text-muted);transition:transform .2s}.segments-collapse-arrow.rotated{transform:rotate(90deg)}.activity-map-preview{position:relative}.map-loading-overlay{align-items:center;background:#fffc;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.map-loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--border-primary);border-radius:50%;border-top-color:var(--accent-primary);height:32px;width:32px}.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 var(--border-primary);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:16px;position:relative;transition:all .2s}.style-option:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.style-option.selected{background:var(--bg-sakura);border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b9dc31a}.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:var(--text-primary);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 var(--border-primary);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px;position:relative;transition:all .2s}.format-option:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.format-option.selected{background:var(--bg-sakura);border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b9dc31a}.format-option svg{color:var(--text-secondary)}.format-option.selected svg{color:var(--accent-primary)}.format-option span{color:var(--text-secondary);font-size:14px;font-weight:600}.format-option.selected span{color:var(--accent-primary)}.legend-section{background:#fff;border:1px solid var(--border-primary);border-radius:12px;margin-bottom:2rem;overflow:hidden}.legend-collapse-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:14px 16px;transition:background .2s;-webkit-user-select:none;user-select:none}.legend-collapse-header:hover{background:var(--bg-primary)}.legend-collapse-header.expanded{border-bottom:1px solid var(--border-primary)}.legend-collapse-title{align-items:center;color:var(--text-secondary);display:flex;font-size:14px;font-weight:600;gap:8px}.legend-collapse-title svg{color:var(--text-tertiary)}.legend-collapse-arrow{color:var(--text-muted);transition:transform .2s}.legend-collapse-arrow.rotated{transform:rotate(90deg)}.legend-options{gap:16px;padding:16px}.legend-field,.legend-options{display:flex;flex-direction:column}.legend-field{gap:6px}.legend-label{color:var(--text-tertiary);font-size:13px;font-weight:600}.legend-input{background:#faf9f7;background:var(--bg-primary,#faf9f7);border:1.5px solid var(--border-primary);border-radius:10px;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:14px;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.legend-input::placeholder{color:var(--text-muted)}.legend-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b9dc31a;outline:none}.unit-toggle{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.unit-option{background:#fff;border:2px solid var(--border-primary);border-radius:10px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;text-align:center;transition:all .2s}.unit-option.selected,.unit-option:hover{border-color:var(--accent-primary)}.unit-option.selected{background:var(--bg-sakura);color:var(--accent-primary)}.legend-preview{-webkit-font-smoothing:antialiased;background:linear-gradient(to right,var(--bg-tertiary) 0,var(--bg-secondary) 6%,var(--bg-secondary) 94%,var(--bg-tertiary) 100%);border:1.5px solid var(--border-secondary);border-radius:4px;box-shadow:inset 0 0 12px #c8b49640,0 1px 3px #0000000f;color:var(--text-primary);font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.2px;line-height:1.8;margin-top:16px;padding:14px 18px;position:relative}.legend-preview:after,.legend-preview:before{background:repeating-linear-gradient(to right,var(--border-secondary) 0,var(--border-secondary) 4px,#0000 4px,#0000 8px);content:"";height:1px;left:10px;position:absolute;right:10px}.legend-preview:before{top:4px}.legend-preview:after{bottom:4px}.legend-preview-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-preview-type{color:var(--text-primary);font-weight:700;margin-bottom:2px}.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 var(--border-primary);border-radius:12px;cursor:pointer;overflow:hidden;position:relative;transition:all .2s}.dimension-card:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.dimension-card.selected{background:var(--bg-sakura);border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b9dc31a}.dimension-preview{aspect-ratio:4/3;background:var(--bg-secondary);overflow:hidden;width:100%}.dimension-preview img{height:100%;object-fit:cover;width:100%}.dimension-label{color:var(--text-primary);font-size:14px;font-weight:600;margin:0;padding:10px 12px;text-align:center}.preparing-overlay{align-items:center;background:#ffffffe6;bottom:0;color:var(--text-tertiary);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 var(--border-primary);border-radius:50%;border-top-color:var(--accent-primary);height:20px;width:20px}.generate-section{border-top:1px solid var(--border-primary);margin-top:2rem;padding-top:2rem}.generate-btn{align-items:center;background:var(--accent-primary);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:var(--accent-primary-hover)}.generate-btn:disabled{background:var(--border-secondary);cursor:not-allowed;opacity:.7}.error-message{color:var(--color-error-light);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:var(--accent-primary);font-weight:600;text-decoration:underline;transition:color .2s}.error-message-link a:hover{color:var(--accent-primary-hover)}@media (max-width:640px){.create-page{background:#fff;padding-top:0}.create-container{padding:1rem}.selected-activity-container .activity-card.single{flex-direction:row}.selected-activity-container .activity-map-preview{height:140px;width:140px}.selected-activity-container .activity-info{padding:12px}.selected-activity-container .activity-name{font-size:14px}.selected-activity-container .activity-stats{font-size:12px}.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}}.strava-id-input-section{align-items:center;display:flex;justify-content:center;padding:30px 0}.strava-id-card{align-items:center;background:#fff;border:2px solid var(--border-primary);border-radius:16px;display:flex;flex-direction:column;max-width:380px;padding:32px 28px 28px;text-align:center;width:100%}.strava-id-icon-wrapper{align-items:center;background:#f5f3f0;background:var(--bg-secondary,#f5f3f0);border-radius:14px;color:var(--accent-primary);display:flex;height:52px;justify-content:center;margin-bottom:16px;width:52px}.strava-id-label{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 6px}.strava-id-hint{color:var(--text-tertiary);font-size:13px;line-height:1.4;margin:0 0 20px}.strava-id-input-row{width:100%}.strava-id-input{background:#faf9f7;background:var(--bg-primary,#faf9f7);border:1.5px solid var(--border-primary);border-radius:10px;box-sizing:border-box;color:var(--text-primary);font-family:inherit;font-size:14px;padding:12px 14px;text-align:center;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.strava-id-input::placeholder{color:var(--text-muted)}.strava-id-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b9dc31a;outline:none}.strava-id-submit{background:var(--accent-primary);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:10px;padding:12px 18px;transition:background .2s ease,transform .15s ease;white-space:nowrap;width:100%}.strava-id-submit:hover{background:var(--accent-primary-hover);transform:translateY(-1px)}.strava-id-submit:active{transform:translateY(0)}.strava-id-error{color:#d92d20;font-size:13px;margin:10px 0 0}.profile-page{background:var(--bg-primary);min-height:100vh;padding-bottom:80px;padding-top:60px}.profile-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);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 var(--bg-secondary);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:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0}.profile-username{color:var(--text-tertiary);font-size:1rem;font-weight:400}.profile-actions{display:flex;gap:8px}.btn-secondary{align-items:center;background:var(--bg-primary);border:1px solid var(--border-secondary);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:all .2s}.btn-secondary:hover{background:var(--bg-primary);border-color:var(--text-muted)}.btn-icon{align-items:center;border:1px solid var(--border-secondary);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.btn-icon,.btn-icon:hover{background:var(--bg-primary)}.btn-icon:hover{border-color:var(--text-muted)}.btn-admin{align-items:center;background:linear-gradient(135deg,var(--color-error) 0,var(--color-error-light) 100%);border:1px solid var(--color-error);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,var(--color-error-dark) 0,var(--color-error) 100%);border-color:var(--color-error-dark);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{font-size:1.25rem}.stat-label{font-size:.875rem}.profile-bio{color:var(--text-primary);font-size:.9375rem;line-height:1.5;margin:0}.profile-meta{display:flex;flex-wrap:wrap;gap:16px}.meta-item{align-items:center;color:var(--text-tertiary);display:flex;font-size:.875rem;gap:6px}.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{align-items:center;background:#000000b3;border-radius:6px;color:#fff;display:flex;justify-content:center;padding:6px;position:absolute;right:8px;top:8px;z-index:2}@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:var(--text-muted);margin-bottom:16px}.profile-empty h3{color:var(--text-primary);font-size:1.5rem;margin:0 0 8px}.profile-empty p{color:var(--text-tertiary);margin:0 0 24px}.btn-primary{background:var(--accent-primary);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:var(--accent-primary-hover);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:var(--text-tertiary);font-size:14px}.profile-not-found{background:var(--bg-secondary);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:var(--text-primary);margin:0 0 8px}.profile-not-found p{color:var(--text-tertiary);margin:0 0 24px}.profile-not-found button{background:var(--accent-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px;transition:all .2s}.profile-not-found button:hover{background:var(--accent-primary-hover)}@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-empty{padding:60px 16px}.profile-not-found{margin:60px 16px;padding:32px 20px}}.post-detail-page{background:var(--bg-primary);min-height:100vh;padding-bottom:80px;padding-top:60px}.post-detail-header{margin:0 auto;max-width:470px;padding:24px 16px 0;text-align:center}@media (min-width:769px){.post-detail-header{max-width:1200px;padding-left:1.5rem;padding-right:1.5rem}}.post-detail-page .back-button{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:0;padding:8px 0;transition:color .2s}.post-detail-page .back-button:hover{color:var(--text-secondary)}.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:var(--text-tertiary);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:var(--text-primary);margin:0 0 8px}.post-detail-not-found p{color:var(--text-tertiary);margin:0 0 24px}.post-detail-not-found button{background:var(--accent-primary);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:var(--accent-primary-hover)}@media (max-width:768px){.post-detail-page{padding-top:0}.post-detail-header{padding:16px 16px 0}.post-detail-content{padding:0}.post-detail-not-found{margin:60px 16px;padding:32px 20px}}.manage-post-card{background:#fff;border:1px solid var(--border-primary);border-radius:8px;margin-bottom:1.5rem;max-width:470px;overflow:hidden;width:100%}.generation-progress-overlay{align-items:center;aspect-ratio:3/2;background:linear-gradient(135deg,var(--bg-primary) 0,var(--bg-secondary) 100%);display:flex;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center;width:100%}.generation-progress-overlay.portrait{aspect-ratio:2/3}.generation-progress-overlay.landscape{aspect-ratio:3/2}.progress-spinner{display:flex;justify-content:center;margin-bottom:24px}.spinner{border-top:4px solid var(--border-primary)}.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:var(--text-primary);font-size:20px;font-weight:600;margin:0 0 12px}.progress-message{color:var(--text-tertiary);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:var(--border-primary);margin-bottom:8px}.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}.progress-bar-fill.complete{animation:pulse-bar 2s ease-in-out infinite}@keyframes pulse-bar{0%,to{opacity:1}50%{opacity:.6}}.progress-info{align-items:baseline;color:var(--text-tertiary);display:flex;font-size:14px;gap:16px;justify-content:space-between;min-height:20px}.progress-map-container{aspect-ratio:3/2;overflow:hidden;position:relative;width:100%}.progress-map-container.portrait{aspect-ratio:2/3}.progress-map-container.landscape{aspect-ratio:3/2}.progress-map{border-radius:inherit}.progress-text-overlay{background:linear-gradient(#0000,#000000a6);bottom:0;left:0;padding:48px 20px 24px;position:absolute;right:0;text-align:center;z-index:10}.progress-text-overlay h3{color:#fff;font-size:20px;font-weight:600;margin:0 0 8px;text-shadow:0 1px 4px #00000080}.progress-text-overlay .progress-message{color:#ffffffd9;font-size:14px;margin:0 0 16px;text-shadow:0 1px 2px #0006}.progress-text-overlay .progress-bar{background-color:#fff3}.progress-text-overlay .progress-bar-fill{background:linear-gradient(90deg,#fc5200,#ff7043)}.progress-text-overlay .progress-percentage{color:#fff;font-weight:600}.progress-text-overlay .progress-eta{color:#ffffffb3}.progress-map .mapboxgl-ctrl-logo{display:none!important}.progress-finish-marker,.progress-start-marker{filter:drop-shadow(0 1px 3px rgba(0,0,0,.35));font-size:18px;line-height:1}.progress-activity-marker,.progress-finish-marker,.progress-start-marker{pointer-events:none;-webkit-user-select:none;user-select:none}.progress-activity-marker-inner{align-items:center;background:#fffc;border-radius:50%;display:flex;filter:drop-shadow(0 1px 4px rgba(0,0,0,.35));font-size:24px;height:40px;justify-content:center;line-height:1;width:40px}.progress-percentage{color:var(--text-primary);flex-shrink:0;font-weight:500;line-height:1}.progress-eta{color:var(--text-tertiary);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:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;transition:color .2s}.username:hover{color:var(--accent-primary);text-decoration:underline}.location-small{color:var(--text-tertiary);font-size:11px}.post-media{cursor:pointer;position:relative}.post-media.media-crossfade{overflow:hidden}.post-media.media-crossfade.landscape{aspect-ratio:3/2}.post-media.media-crossfade.portrait{aspect-ratio:2/3}.post-image-reveal{opacity:0;transition:opacity .6s ease-in}.post-image-reveal.revealed{opacity:1}.post-image{display:block;height:auto;width:100%}.post-image-stack{display:grid;width:100%}.post-image.stack-layer{grid-area:1/1;transition:opacity .12s ease;will-change:opacity}.post-image.stack-layer.active{opacity:1;pointer-events:auto}.post-image.stack-layer.inactive{opacity:0;pointer-events:none}.strava-overlay-link{background:#fffffff2;border-radius:6px;bottom:48px;box-shadow:0 2px 8px #00000026;color:var(--color-strava);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:var(--color-strava-hover);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:var(--text-primary);flex:1 1}.caption-loading-shimmer{animation:shimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#e0e0e0 25%,#f0f0f0 50%,#e0e0e0 75%);background-size:200% 100%;border-radius:4px;display:inline-block;height:16px;width:60%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.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:var(--text-tertiary);flex-shrink:0;font-size:12px;margin-left:auto;text-transform:uppercase}.badges-section,.edit-section,.publish-section{border-top:1px solid var(--border-primary);margin-top:12px;padding-top:12px}.badges-section h4,.edit-section h4,.publish-section h4{color:var(--text-secondary);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 var(--border-secondary);border-radius:6px;color:var(--text-secondary);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:var(--bg-primary);border-color:var(--text-muted)}.edit-btn-inline:disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.edit-btn-inline.diamond-cost{padding-right:32px}.edit-btn-inline.coming-soon{background:#fff;border-color:var(--border-secondary);color:var(--text-muted);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{cursor:not-allowed;opacity:.6}.edit-btn-inline.coming-soon:disabled,.edit-btn-inline.coming-soon:hover{background:#fff;border-color:var(--border-secondary)}.edit-btn-inline.coming-soon svg{color:var(--text-muted)}.coming-soon-badge{align-items:center;background:var(--accent-gold);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:var(--accent-primary);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 var(--border-primary);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:var(--border-primary);border-radius:2px;cursor:pointer;height:4px;outline:none;width:100px}.badge-size-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent-primary);border-radius:50%;cursor:pointer;height:12px;-webkit-transition:all .2s;transition:all .2s;width:12px}.badge-size-slider::-webkit-slider-thumb:hover{background:var(--accent-primary-hover);transform:scale(1.2)}.badge-size-slider::-moz-range-thumb{background:var(--accent-primary);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:var(--accent-primary-hover);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:var(--accent-primary);color:#fff}.publish-btn.primary:hover:not(:disabled){background:var(--accent-primary-hover)}.publish-btn.primary:disabled{background:var(--text-muted);cursor:not-allowed;opacity:.6;pointer-events:none}.publish-btn.primary:disabled.published{background:var(--color-success);cursor:default;opacity:1}.publish-btn:not(.primary):not(.strava){background:#fff;border:1px solid var(--border-secondary);color:var(--text-secondary)}.publish-btn:not(.primary):not(.strava):hover:not(:disabled){background:var(--bg-primary)}.publish-btn:not(.primary):not(.strava):disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.publish-btn.strava{background:var(--color-strava-alt);color:#fff}.publish-btn.strava:hover:not(:disabled){background:var(--color-strava-hover)}.publish-btn.strava:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.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 var(--border-secondary);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:var(--accent-primary);box-shadow:0 0 0 3px #8b9dc31a;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:var(--accent-primary);display:flex;gap:6px}.save-button:hover:not(:disabled){background:var(--accent-primary-hover)}.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:var(--accent-primary);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:var(--accent-primary-hover)}.share-divider{align-items:center;color:var(--text-tertiary);display:flex;font-size:13px;margin:20px 0}.share-divider:after,.share-divider:before{border-bottom:1px solid var(--border-primary);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 var(--border-secondary);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:var(--bg-primary);border-color:var(--text-muted)}.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 var(--border-primary);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 var(--color-error);color:var(--color-error)}.manage-action-btn.delete:hover:not(:disabled){background:var(--color-error);color:#fff}.manage-action-btn.delete:disabled{border-color:var(--text-muted);color:var(--text-muted);cursor:not-allowed;opacity:.6;pointer-events:none}@media (max-width:640px){.manage-post-card{border-bottom:8px solid var(--bg-secondary);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:var(--bg-primary);min-height:100vh;padding-bottom:80px;padding-top:60px}.manage-post-header{margin:0 auto;max-width:470px;padding:24px 16px 0;text-align:center}@media (min-width:769px){.manage-post-header{max-width:1200px;padding-left:1.5rem;padding-right:1.5rem}}.manage-post-page .back-button{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:0;padding:8px 0;transition:color .2s}.manage-post-page .back-button:hover{color:var(--text-secondary)}.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:var(--text-primary);font-size:20px;font-weight:700;margin:0 0 12px}.modal-content p{color:var(--text-tertiary);font-size:14px;line-height:1.5;margin:0 0 24px}.cancel-button{background:#fff;font-weight:600}.cancel-button:hover:not(:disabled){background:var(--bg-primary)}.delete-confirm-button{background:var(--color-error);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:var(--color-error-dark)}.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 var(--border-primary);border-radius:50%;border-top-color:var(--accent-primary);height:48px;margin:0 auto 16px;width:48px}.manage-post-loading p{color:var(--text-tertiary);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:var(--text-primary);margin:0 0 8px}.manage-post-not-found p{color:var(--text-tertiary);margin:0 0 24px}.manage-post-not-found button{background:var(--accent-primary);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:var(--accent-primary-hover)}@media (max-width:768px){.manage-post-page{padding-top:0}.manage-post-header{padding:16px 16px 0}.manage-post-content{padding:0}.modal-content{margin:16px}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}}.manage-post-feedback{padding:24px 16px 0;text-align:center}.manage-post-feedback p{color:var(--text-muted);font-size:13px;margin:0 0 12px}.manage-post-feedback-links{display:flex;gap:20px;justify-content:center}.manage-post-feedback-links a{align-items:center;color:var(--text-muted);display:flex;opacity:.6;transition:opacity .2s,color .2s}.manage-post-feedback-links a:hover{color:var(--text-secondary);opacity:1}.settings-page{background:var(--bg-primary);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-page .back-button{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;margin:0 auto 16px;padding:8px 0;transition:color .2s;width:-webkit-fit-content;width:fit-content}.settings-page .back-button:hover{color:var(--text-secondary)}.settings-header h1{color:var(--text-primary);font-size:30px;font-weight:700;margin:0 0 4px}.settings-subtitle{color:var(--text-tertiary);font-size:16px;font-weight:400;margin:0 0 20px}.settings-divider{background-color:var(--border-primary);height:1px;margin-bottom:32px;width:100%}.settings-section{margin-bottom:48px}.settings-section h2{align-items:center;color:var(--text-primary);display:flex;font-size:24px;font-weight:700;gap:8px;margin:0 0 12px}.strava-connection-card{background:#fff;border:1px solid var(--border-primary);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:var(--text-tertiary);display:flex;gap:8px}.loading-spinner-small{border-top:2px solid var(--border-primary)}.status-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.status-dot.connected{background-color:var(--color-success)}.status-dot.disconnected{background-color:var(--text-muted)}.status-text{color:var(--text-secondary);font-weight:500}.connection-actions{display:flex;gap:12px}.strava-connect-button{align-items:center;background-color:var(--color-strava-alt);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:var(--color-strava-hover)}.strava-disconnect-button{background-color:var(--text-secondary);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:var(--text-primary)}.connection-info{background-color:var(--bg-sakura);border:1px solid var(--border-rose);border-radius:8px;padding:16px}.connection-info p{color:var(--sakura-dark);font-size:14px;line-height:1.5;margin:0}.preference-card{background:#fff;border:1px solid var(--border-primary);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:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 8px}.preference-info p{color:var(--text-tertiary);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 var(--border-secondary);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;min-width:200px;padding:10px 14px;transition:all .2s}.language-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b9dc31a;outline:none}.language-select:hover{border-color:var(--text-muted)}.signout-button{background-color:var(--text-secondary);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:var(--text-primary)}.legal-links-list{display:flex;flex-direction:column;gap:0}.legal-link-item{align-items:center;border-bottom:1px solid var(--bg-secondary);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:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 4px}.legal-link-content p{color:var(--text-tertiary);font-size:14px;margin:0}.legal-link-arrow{color:var(--text-muted);font-size:20px;font-weight:600;transition:all .2s}.legal-link-item:hover .legal-link-arrow{color:var(--accent-primary);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 var(--border-primary);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:var(--border-secondary);box-shadow:0 4px 12px #0000001a;transform:translateY(-4px)}.social-icon{align-items:center;background:var(--bg-primary);border-radius:50%;display:flex;height:48px;justify-content:center;width:48px}.social-card span{color:var(--text-secondary);font-size:14px;font-weight:600}.danger-zone{border-top:1px solid var(--border-primary);padding-top:48px}.danger-card{background-color:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:12px;padding:24px}.danger-content h3{color:var(--color-error-text);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:var(--color-error);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:var(--color-error-dark)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;padding:16px}.modal-content{width:100%}.delete-modal h2{font-weight:700}.warning-banner svg{color:var(--color-error);flex-shrink:0}.confirmation-input input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b9dc31a}.cancel-button{border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s}.confirm-delete-button{font-weight:600;transition:all .2s}.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:var(--text-primary);margin:0 0 8px}.settings-not-logged-in p{color:var(--text-tertiary);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}}.style-order-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-top:16px}.style-order-card{align-items:center;background:#fff;border:1px solid var(--border-primary);border-radius:8px;cursor:grab;display:flex;font-size:13px;font-weight:500;gap:8px;min-width:0;overflow:hidden;padding:10px 12px;touch-action:none;transition:box-shadow .2s;-webkit-user-select:none;user-select:none}.style-order-card:hover{border-color:var(--border-secondary);box-shadow:0 1px 3px #0000001a}.style-order-card:active{cursor:grabbing}.style-order-card img{flex-shrink:0;height:32px;object-fit:contain;width:32px}.style-order-name{color:var(--text-primary);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.style-order-grip{color:var(--text-muted);flex-shrink:0}.reset-order-btn{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s;white-space:nowrap}.reset-order-btn:hover{background:var(--border-primary)}@media (max-width:640px){.style-order-grid{grid-template-columns:repeat(2,1fr)}}.challenge-profile-editor{align-items:flex-start;display:flex;gap:20px;margin-bottom:20px}.challenge-avatar-wrapper{flex-shrink:0;height:72px;position:relative;width:72px}.challenge-avatar-img{border:2px solid var(--border-primary);border-radius:50%;height:72px;object-fit:cover;width:72px}.challenge-avatar-upload{align-items:center;background:#fc5200;background:var(--color-strava-alt,#fc5200);border:2px solid #fff;border-radius:50%;bottom:-2px;color:#fff;cursor:pointer;display:flex;height:26px;justify-content:center;position:absolute;right:-2px;transition:background .2s;width:26px}.challenge-avatar-upload:hover{background:#e04800}.challenge-profile-fields{flex:1 1;min-width:0}.challenge-name-input{background:#fff;border:1px solid var(--border-primary);border-radius:8px;box-sizing:border-box;color:var(--text-primary);font-size:15px;margin-top:8px;padding:10px 14px;transition:border-color .2s;width:100%}.challenge-name-input:focus{border-color:#fc5200;border-color:var(--color-strava-alt,#fc5200);outline:none}.challenge-name-input::placeholder{color:#9ca3af;color:var(--text-muted,#9ca3af)}.challenge-profile-saved{align-items:center;animation:settings-fade-in .3s ease;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:8px;color:#16a34a;display:flex;font-size:14px;gap:6px;margin-bottom:12px;padding:8px 14px}@keyframes settings-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.save-challenge-profile-btn{background:#fc5200;background:var(--color-strava-alt,#fc5200);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px;transition:all .2s;width:100%}.save-challenge-profile-btn:hover:not(:disabled){background:#e04800;transform:translateY(-1px)}.save-challenge-profile-btn:disabled{cursor:not-allowed;opacity:.6}@media (max-width:640px){.challenge-profile-editor{align-items:center;flex-direction:column;text-align:center}.challenge-profile-fields .preference-item{justify-content:center}}.edit-profile-page{background:var(--bg-primary);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-page .back-button{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:16px;padding:8px 0;transition:color .2s}.edit-profile-page .back-button:hover{color:var(--text-secondary)}.edit-profile-header h1{color:var(--text-primary);font-size:30px;font-weight:700;margin:0 0 4px}.edit-profile-subtitle{color:var(--text-tertiary);font-size:16px;font-weight:400;margin:0 0 20px}.edit-profile-page .settings-divider{background-color:var(--border-primary);height:1px;margin-bottom:32px;width:100%}.edit-profile-page .avatar-preview-section{align-items:center;background:#fff;border:1px solid var(--border-primary);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 var(--bg-secondary);border-radius:50%;height:80px;object-fit:cover;width:80px}.edit-profile-page .avatar-info h3{color:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 4px}.edit-profile-page .avatar-info p{color:var(--text-tertiary);font-size:14px;margin:0}.edit-profile-page .profile-form-card{background:#fff;border:1px solid var(--border-primary);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:var(--text-secondary);display:flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:8px}.edit-profile-page .profile-input{background-color:#fff;border:1px solid var(--border-secondary);border-radius:8px;color:var(--text-primary);font-size:14px;padding:10px 14px;width:100%}.edit-profile-page .profile-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b9dc31a;outline:none}.edit-profile-page .profile-input:disabled{background-color:var(--bg-primary);cursor:not-allowed}.edit-profile-page .profile-textarea{background-color:#fff;border:1px solid var(--border-secondary);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:14px;min-height:100px;padding:10px 14px;resize:vertical;width:100%}.edit-profile-page .profile-textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #8b9dc31a;outline:none}.edit-profile-page .profile-textarea:disabled{background-color:var(--bg-primary);cursor:not-allowed}.edit-profile-page .char-count{color:var(--text-muted);display:block;font-size:12px;margin-top:6px;text-align:right}.edit-profile-page .profile-actions{border-top:1px solid var(--border-primary);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 var(--border-secondary);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:all .2s}.edit-profile-page .cancel-button:hover:not(:disabled){background-color:var(--bg-primary)}.edit-profile-page .save-profile-button{background-color:var(--accent-primary);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:var(--accent-primary-hover)}.edit-profile-page .save-profile-button:disabled{background-color:var(--border-secondary);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:var(--text-primary);margin:0 0 8px}.edit-profile-not-logged-in p{color:var(--text-tertiary);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:var(--bg-primary);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-page .back-button{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;margin:0 auto 16px;padding:8px 0;transition:color .2s;width:-webkit-fit-content;width:fit-content}.diamonds-page .back-button:hover{color:var(--text-secondary)}.diamonds-header h1{color:var(--text-primary);font-size:30px;font-weight:700;margin:0 0 4px}.diamonds-subtitle{color:var(--text-tertiary);font-size:16px;font-weight:400;margin:0 0 20px}.diamonds-divider{background-color:var(--border-primary);height:1px;margin-bottom:32px;width:100%}.diamonds-section{margin-bottom:48px}.diamonds-section h2{align-items:center;color:var(--text-primary);display:flex;font-size:24px;font-weight:700;gap:8px;margin:0 0 12px}.section-description{color:var(--text-tertiary);font-size:16px;line-height:1.5;margin:0 0 24px}.diamonds-counter{background:#fff;border:1px solid var(--border-primary);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:var(--bg-sakura);border-radius:20px;color:#5a6a8a;font-size:14px;font-weight:600;padding:6px 14px}.diamonds-count{align-items:baseline;display:flex;gap:8px}.diamonds-count .current{color:var(--text-primary);font-size:36px;font-weight:700}.diamonds-count .separator{color:var(--text-tertiary);font-size:16px;font-weight:500}.bonus-diamonds{color:var(--text-tertiary);font-size:14px;margin-left:8px}.reward-card{background:#fff;border:1px solid var(--border-primary);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:var(--bg-primary);border-color:var(--border-secondary);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:var(--text-primary);display:flex;font-size:18px;font-weight:600;margin:0}.reward-value{background:var(--bg-sakura);border-radius:12px;color:var(--sakura-dark);font-size:14px;font-weight:700;padding:4px 12px}.reward-content p{color:var(--text-tertiary);font-size:14px;line-height:1.5;margin:0 0 16px}.reward-button{background:var(--accent-primary);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:var(--accent-primary-hover)}.reward-button:disabled{background:var(--border-secondary);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:var(--color-error-bg);color:var(--color-error-dark)}.share-info-box{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;margin:16px 0 20px;padding:16px}.share-info-box p{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0}.share-info-box strong{color:var(--text-primary)}.earned-maps-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.earned-map-card{background:var(--bg-primary);border:1px solid var(--border-primary);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:var(--border-primary);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:#8b9dc3f2;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:var(--text-primary);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:var(--text-primary);margin:0 0 8px}.diamonds-not-logged-in p{color:var(--text-tertiary);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:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 8px}.coffee-text p{color:var(--text-tertiary);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:var(--bg-primary);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}.admin-menu-page .back-button{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:16px;padding:8px 0;transition:color .2s}.admin-menu-page .back-button:hover{color:var(--text-secondary)}.header-content{gap:16px;margin-bottom:20px}.header-content,.shield-icon{align-items:center;display:flex}.shield-icon{background:linear-gradient(135deg,var(--color-error) 0,var(--color-error-light) 100%);border-radius:16px;color:#fff;flex-shrink:0;height:64px;justify-content:center;width:64px}.admin-menu-header h1{color:var(--text-primary);font-size:30px;font-weight:700;margin:0 0 4px}.admin-menu-subtitle{color:var(--text-tertiary);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 var(--border-primary);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:var(--border-secondary);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:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 6px}.admin-link-content p{color:var(--text-tertiary);font-size:14px;line-height:1.5;margin:0}.admin-link-note{color:var(--text-muted);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:var(--bg-sakura);border:1px solid var(--border-rose);border-radius:12px;color:var(--sakura-dark);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:var(--color-error);margin-bottom:16px}.admin-not-authorized p{margin:0 0 24px}.admin-not-authorized button{background:var(--accent-primary);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:var(--bg-primary);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}.admin-settings-page .back-button{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:16px;padding:8px 0;transition:color .2s}.admin-settings-page .back-button:hover{color:var(--text-secondary)}.admin-settings-header h1{color:var(--text-primary);font-size:30px;font-weight:700;margin:0 0 4px}.admin-settings-subtitle{color:var(--text-tertiary);font-size:16px;font-weight:400;margin:0 0 20px}.admin-divider{background-color:var(--border-primary);height:1px;margin-bottom:32px;width:100%}.admin-setting-card{background:#fff;border:1px solid var(--border-primary);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:var(--text-primary);font-size:18px;font-weight:600;margin:0 0 8px}.setting-info p{color:var(--text-tertiary);font-size:14px;line-height:1.5;margin:0}.setting-control{align-items:center;display:flex;flex-shrink:0}.setting-note{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);font-size:14px;padding:12px 16px}.numeric-input-group{align-items:center;display:flex;gap:8px}.numeric-input{background-color:#fff;border:1px solid var(--border-secondary);border-radius:8px;color:var(--text-primary);font-size:14px;padding:8px 12px;text-align:center;width:80px}.numeric-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.numeric-input:disabled{background-color:var(--bg-primary);color:var(--text-muted);cursor:not-allowed}.input-unit{color:var(--text-tertiary);font-size:14px;font-weight:500}.color-input-group{align-items:center;display:flex;gap:8px}.color-select{background-color:#fff;border:1px solid var(--border-secondary);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;min-width:140px;padding:8px 12px}.color-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.color-select:disabled{background-color:var(--bg-primary);cursor:not-allowed;opacity:.5}.color-preview{border:2px solid var(--border-primary);border-radius:8px;cursor:help;height:32px;transition:all .2s;width:32px}.color-preview:hover{border-color:var(--border-secondary);transform:scale(1.05)}.save-button{background-color:var(--text-secondary);border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.save-button:hover:not(:disabled){background-color:var(--text-primary)}.save-button:disabled{background-color:var(--border-secondary);color:var(--text-muted);cursor:not-allowed}.save-button.primary{background-color:var(--accent-primary);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:var(--border-secondary);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:var(--accent-primary)}.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 var(--bg-secondary);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:var(--text-primary);font-size:15px;font-weight:600;margin:0 0 4px}.setting-info-small p{color:var(--text-tertiary);font-size:13px;line-height:1.4;margin:0}.setting-control-small{flex-shrink:0}.numeric-input-small{background-color:#fff;border:1px solid var(--border-secondary);border-radius:8px;color:var(--text-primary);font-size:14px;padding:8px 12px;text-align:center;width:80px}.numeric-input-small:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.numeric-input-small:disabled{background-color:var(--bg-primary);color:var(--text-muted);cursor:not-allowed}.watermark-actions{border-top:1px solid var(--border-primary);display:flex;justify-content:flex-end;margin-top:24px;padding-top:24px}.admin-setting-card .style-order-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin-top:16px}.style-page-divider{align-items:center;display:flex;gap:10px;grid-column:1/-1;margin:4px 0;padding:4px 0}.style-page-divider:after,.style-page-divider:before{background:var(--border-primary);content:"";flex:1 1;height:1px}.style-page-divider:first-child{margin-top:0;padding-top:0}.style-page-label{color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.admin-setting-card .style-order-card{align-items:center;background:#fff;border:1px solid var(--border-primary);border-radius:8px;cursor:default;display:flex;font-size:13px;font-weight:500;gap:4px;min-width:0;overflow:hidden;padding:10px 12px;touch-action:none;transition:box-shadow .2s,opacity .2s;-webkit-user-select:none;user-select:none}.admin-setting-card .style-order-card:hover{border-color:var(--border-secondary);box-shadow:0 1px 3px #0000001a}.admin-setting-card .style-card-drag{align-items:center;cursor:grab;display:flex;flex:1 1;gap:8px;min-width:0}.admin-setting-card .style-card-drag:active{cursor:grabbing}.admin-setting-card .style-order-card img{flex-shrink:0;height:32px;object-fit:contain;width:32px}.admin-setting-card .style-order-name{color:var(--text-primary);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-setting-card .style-order-grip{color:var(--text-muted);flex-shrink:0}.admin-setting-card .style-visibility-btn{align-items:center;background:none;border:none;border-radius:4px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;padding:4px;transition:all .2s}.admin-setting-card .style-visibility-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.admin-setting-card .style-order-card.style-hidden{background:var(--bg-secondary);opacity:.45}.admin-setting-card .style-order-card.style-hidden .style-order-name{color:var(--text-muted);text-decoration:line-through}.admin-setting-card .style-order-card.style-hidden .style-visibility-btn{color:var(--text-tertiary)}.admin-setting-card .style-order-card.style-admin-only{background:var(--bg-primary);border-color:var(--border-secondary)}.admin-setting-card .style-order-card.style-admin-only img{filter:grayscale(.6);opacity:.6}.admin-setting-card .style-order-card.style-admin-only .style-order-name,.style-admin-badge{color:var(--text-muted)}.style-admin-badge{background:var(--border-primary);border-radius:4px;flex-shrink:0;font-size:10px;font-weight:600;letter-spacing:.5px;padding:1px 6px;text-transform:uppercase}.admin-setting-card .reset-order-btn{background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s;white-space:nowrap}.admin-setting-card .reset-order-btn:hover{background:var(--border-primary)}.loading-spinner-small{border:2px solid var(--border-primary);border-top-color:var(--accent-primary);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:var(--text-primary);margin:0 0 8px}.admin-not-authorized p{color:var(--text-tertiary);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%}.admin-setting-card .style-order-grid{grid-template-columns:repeat(2,1fr)}}.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:#faf9f6;background-color:var(--color-bg-subtle,#faf9f6);border:1px solid #e8ddd0;border:1px solid var(--color-border-card,#e8ddd0);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:#4a4a4a;color:var(--color-text-secondary,#4a4a4a);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 #d4c4b0;border:1px solid var(--color-border-input,#d4c4b0);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:#6b6b6b;border-color:var(--Primary-600,#6b6b6b);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:#faf9f6;background-color:var(--Gray-50,#faf9f6)}.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:#faf9f6;background-color:var(--Gray-50,#faf9f6)}.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 #d4c4b0;border:1px solid var(--Gray-300,#d4c4b0);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:#faf9f6;background-color:var(--Gray-50,#faf9f6);border:1px solid #e8ddd0;border:1px solid var(--Gray-200,#e8ddd0);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 #d4c4b0;border:1px solid var(--Gray-300,#d4c4b0);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:#faf9f6;background-color:var(--Gray-50,#faf9f6);border-left:3px solid #6b6b6b;border-left:3px solid var(--Primary-600,#6b6b6b)}.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 #e8ddd0;border-bottom:1px solid var(--color-border-divider,#e8ddd0);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 #e8ddd0;border:1px solid var(--color-border-card,#e8ddd0);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:#4a4a4a;color:var(--color-text-secondary,#4a4a4a);font-size:14px;line-height:20px;margin:8px 0}.subscription-details strong{color:#2c2c2c;color:var(--color-text-primary,#2c2c2c);font-weight:500;font-weight:var(--font-weight-medium,500)}.webhook-form div{margin-bottom:20px}.webhook-form label{color:#4a4a4a;color:var(--color-text-secondary,#4a4a4a);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 #d4c4b0;border:1px solid var(--color-border-input,#d4c4b0);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:#6b6b6b;border-color:var(--Primary-600,#6b6b6b);box-shadow:0 0 0 3px #57534e1a;outline:none}.input-hint{color:#8a8078;color:var(--color-text-subtle,#8a8078);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:#4a4a4a;background-color:var(--Primary-700,#4a4a4a);border-color:#4a4a4a;border-color:var(--Primary-700,#4a4a4a)}.delete-button{background-color:#dc3545;border-color:#dc3545;color:#fff;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:#e8ddd0;background-color:var(--Gray-200,#e8ddd0);border-color:#e8ddd0;border-color:var(--Gray-200,#e8ddd0);color:#8a8078;color:var(--Gray-500,#8a8078);cursor:not-allowed}.info-text{color:#8a8078;color:var(--color-text-secondary,#8a8078);line-height:1.6;margin-bottom:15px}.verification-check-section code{background-color:#faf9f6;background-color:var(--color-bg-subtle,#faf9f6);border:1px solid #d4c4b0;border:1px solid var(--color-border-input,#d4c4b0);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}.admin-dashboard{margin:0 auto;max-width:1400px;padding:20px}.dashboard-header{border-bottom:1px solid var(--border-primary);margin-bottom:30px;padding-bottom:20px}.dashboard-header h1{color:var(--text-primary);font-size:32px;font-weight:600;margin:0 0 8px}.dashboard-header p{color:var(--text-tertiary);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:var(--text-tertiary);display:inline-flex;font-weight:500;gap:4px;text-decoration:none}.back-link:hover{color:var(--text-secondary)}.error-message{align-items:center;background-color:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:8px;color:var(--color-error-text);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:var(--bg-primary);border:1px solid var(--border-primary);border-radius:4px;cursor:pointer;height:24px;overflow:hidden;padding:2px;position:relative;transition:all .2s ease;width:24px}.badge-icon:hover{border-color:var(--border-secondary);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:var(--color-error-text);cursor:pointer;font-size:20px}.close-error:hover{color:#7f1d1d}.loading-container{align-items:center;color:var(--text-muted);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 var(--border-primary)!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 var(--border-primary);border-radius:12px;box-shadow:0 1px 3px #1018281a;margin-bottom:30px;padding:24px}.filter-card h3{color:var(--text-primary);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:var(--text-secondary);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:var(--text-secondary);font-size:14px;font-weight:500;white-space:nowrap}.filter-group .filter-select{background-color:#fff;border:1px solid var(--border-secondary);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;min-width:120px;padding:8px 12px;transition:all .2s ease}.filter-group .filter-select:focus{border-color:var(--accent-primary);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:var(--border-primary);bottom:20%;content:"";position:absolute;right:0;top:20%;width:1px}.stat-card:hover{background-color:var(--bg-primary)!important}.stat-card h3{color:var(--text-tertiary)!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:var(--text-primary)!important;font-size:36px!important;font-weight:700!important;line-height:1!important;margin:0!important}.table-container{background:#fff;border:1px solid var(--border-primary);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:var(--bg-primary)}.generations-table th{border-bottom:1px solid var(--border-primary);color:var(--text-tertiary);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:var(--text-primary)}.generations-table th.sortable.active{color:var(--text-tertiary)}.generations-table td{border-bottom:1px solid var(--bg-secondary);color:var(--text-secondary);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:var(--bg-primary)}.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:var(--color-error-text)}.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:var(--bg-secondary);border:1px solid var(--border-secondary);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{font-weight:500}.user-email{color:var(--text-muted);font-size:12px}.admin-badge{background-color:var(--bg-secondary);border-radius:4px;color:var(--text-secondary);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:var(--text-primary);font-weight:500}.activity-id{color:var(--text-muted);font-size:12px}.action-buttons{align-items:center;display:flex;gap:8px}.view-button{align-items:center;background-color:var(--text-tertiary);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:var(--text-secondary)}.pagination{align-items:center;display:flex;gap:16px;justify-content:center;margin-top:24px}.pagination-button{background-color:#fff;border:1px solid var(--border-secondary);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.pagination-button:hover:not(:disabled){background-color:var(--bg-primary);border-color:#98a2b3;border-color:var(--Gray-400,#98a2b3)}.pagination-button:disabled{cursor:not-allowed;opacity:.5}.pagination-info{color:var(--text-secondary);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:var(--bg-primary);padding:0}.expanded-content{padding:24px}.expanded-section{margin-bottom:24px}.expanded-section:last-child{margin-bottom:0}.expanded-section h4{color:var(--text-primary);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:var(--text-secondary);font-size:14px}.detail-grid strong{color:var(--text-primary);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{padding:12px}.stat-label{color:var(--text-muted);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 var(--border-primary);border-radius:8px;display:flex;flex-direction:column;padding:16px;text-align:center}.image-item strong{color:var(--text-primary);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:var(--text-secondary);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:var(--text-primary)}.search-section{background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:12px;margin-bottom:24px;padding:24px}.search-label{color:var(--text-secondary);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-radius:8px;box-sizing:border-box!important;height:44px!important;line-height:1.2;padding:10px 14px}.search-input:focus{box-shadow:0 0 0 3px #6366f11a}.search-button{align-items:center!important;background-color:var(--text-tertiary);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:var(--text-secondary)}.search-button:disabled{background-color:var(--border-secondary);cursor:not-allowed}.search-all-button{align-items:center;background-color:var(--text-tertiary);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:var(--text-secondary)}.search-all-button:disabled{background-color:var(--border-secondary);cursor:not-allowed}.clear-button{align-items:center;background-color:#fff;border:1px solid var(--border-secondary);border-radius:8px;box-sizing:border-box;color:var(--text-secondary);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:var(--bg-primary);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:var(--text-secondary);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:var(--text-secondary);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:var(--text-secondary);font-size:14px;font-weight:500;white-space:nowrap}.filter-select{background-color:#fff;border:1px solid var(--border-secondary);border-radius:6px;color:var(--text-primary);cursor:pointer;font-size:14px;min-width:120px;padding:8px 12px;transition:all .2s ease}.filter-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.search-results-info{color:var(--text-tertiary);font-size:14px;margin-top:12px}.search-error{align-items:center;background-color:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:8px;color:var(--color-error-text);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:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:4px;color:var(--text-secondary);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:var(--color-success);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:var(--bg-primary);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:var(--text-tertiary);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:var(--bg-secondary);color:var(--text-secondary)}.tab-button.active{background-color:#fff;box-shadow:0 1px 2px #1018280d;color:var(--text-primary)}.user-management-section{margin-top:24px}.user-search{background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:12px;margin-bottom:24px;padding:24px}.user-search h3{color:var(--text-primary);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 var(--border-primary);border-radius:12px;box-shadow:0 1px 3px #1018281a;overflow:hidden}.users-table-container h3{background-color:var(--bg-primary);border-bottom:1px solid var(--border-primary);color:var(--text-primary);font-size:16px;font-weight:600;margin:0;padding:24px}.users-table{border-collapse:collapse;width:100%}.users-table thead{background-color:var(--bg-primary)}.users-table th{border-bottom:1px solid var(--border-primary);color:var(--text-tertiary);font-size:12px;font-weight:600;padding:16px 20px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid var(--bg-secondary);color:var(--text-secondary);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:var(--bg-primary)}.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:var(--color-error-text)}.verification-status{color:var(--text-tertiary);font-size:12px}.account-dates{color:var(--text-muted);font-size:12px}.account-dates>div{margin-top:2px}.usage-info{display:flex;flex-direction:column;gap:4px}.current-count{color:var(--text-primary);font-weight:600}.month-info{color:var(--text-muted);font-size:12px}.limit-info{display:flex;flex-direction:column;gap:4px}.effective-limit{color:var(--text-primary);font-size:16px}.limit-source{color:var(--text-muted);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 var(--border-secondary);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:var(--accent-primary);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:var(--color-success-dark);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 var(--border-secondary);color:var(--text-secondary)}.cancel-button:hover:not(:disabled){background-color:var(--bg-primary)}.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:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:6px;box-sizing:border-box;color:var(--text-secondary);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:var(--border-primary);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:var(--text-secondary)!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 var(--border-secondary);border-radius:8px;color:var(--text-primary);cursor:pointer;font-size:14px;padding:8px 12px;transition:all .2s ease}.search-type-select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.advanced-search-toggle{align-items:center!important;background-color:#fff;border:1px solid var(--border-secondary);border-radius:8px;box-sizing:border-box!important;color:var(--text-secondary);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:var(--bg-primary);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 var(--border-secondary);border-radius:8px;box-sizing:border-box;color:var(--text-primary);display:flex;font-size:14px;height:44px;padding:10px 14px;transition:all .2s ease}.date-input:focus,.number-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6366f11a;outline:none}.date-input:disabled,.number-input:disabled{background-color:var(--bg-primary);cursor:not-allowed}.date-separator,.range-separator{color:var(--text-tertiary);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:var(--color-error);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:var(--color-error-dark)}.delete-user-button:disabled{background-color:var(--border-secondary);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:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 24px}.warning-banner{align-items:center;background-color:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:8px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.warning-banner i{color:var(--color-error);font-size:20px}.warning-banner p{color:var(--color-error-text);font-weight:600;margin:0}.deletion-details{margin-bottom:24px}.deletion-details h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:16px 0 8px}.deletion-details ul{color:var(--text-tertiary);margin:0;padding-left:20px}.deletion-details li{margin:4px 0}.user-info-modal{background-color:var(--bg-primary);border-radius:8px;margin-bottom:16px;padding:16px}.user-info-modal p{color:var(--text-secondary);margin:4px 0}.info-text{align-items:center;background-color:var(--bg-primary);border-radius:8px;color:var(--text-tertiary);display:flex;font-size:14px;gap:8px;margin:16px 0 0;padding:12px}.info-text i{color:var(--text-muted)}.confirmation-input{margin-bottom:24px}.confirmation-input label{color:var(--text-secondary);display:block;font-size:14px;font-weight:500;margin-bottom:8px}.confirmation-input input{background-color:#fff;border:1px solid var(--border-secondary);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 var(--bg-secondary);outline:none}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-delete-button{background-color:var(--color-error);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:var(--color-error-dark)}.confirm-delete-button:disabled{background-color:var(--border-secondary);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:var(--bg-primary);border:1px solid var(--border-primary);border-radius:12px;margin:24px 0;padding:24px}.admin-actions-section h3{color:var(--text-primary);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:var(--color-error);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:var(--color-error-dark)}.reset-all-credits-button:disabled{background-color:var(--border-secondary);cursor:not-allowed}.reset-all-credits-button i{font-size:18px}.action-description{color:var(--text-tertiary);font-size:13px;line-height:1.5;margin:0}.reset-modal h2{color:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 24px}.reset-details{margin-bottom:24px}.reset-details h4{color:var(--text-primary);font-size:16px;font-weight:600;margin:16px 0 8px}.reset-details ul{color:var(--text-tertiary);margin:0;padding-left:20px}.reset-details li{margin:4px 0}.confirm-reset-button{background-color:var(--color-error);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:var(--color-error-dark)}.confirm-reset-button:disabled{background-color:var(--border-secondary);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:var(--color-success);font-size:20px}.success-banner p{color:#047857;font-weight:600;margin:0}.reset-summary{margin-bottom:24px}.reset-summary h4{color:var(--text-primary);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 var(--border-primary);border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.stat-item.error{background-color:var(--color-error-bg);border-color:var(--color-error-border)}.stat-item.error .stat-label{color:var(--color-error-text)}.stat-item.error .stat-value{color:var(--color-error)}.stat-label,.stat-value{font-size:14px}.stat-value{color:var(--text-primary);font-weight:600}.close-button{background-color:var(--accent-primary);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:var(--bg-primary);border:1px solid var(--border-primary);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:var(--text-primary);font-size:14px}.copy-button{align-items:center;background-color:#fff;border:1px solid var(--border-secondary);border-radius:6px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;gap:6px;padding:6px 12px;transition:all .2s ease}.copy-button:hover{background-color:var(--bg-primary);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 var(--border-primary);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:var(--bg-secondary);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:var(--border-primary);color:var(--text-primary)}.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:var(--text-primary);font-size:24px;font-weight:600;margin:0 0 24px;text-align:center}.badge-detail-row{align-items:center;border-bottom:1px solid var(--bg-secondary);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:var(--text-primary);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 var(--border-primary);display:flex;justify-content:space-between;padding:20px}.impersonation-modal-header h2{color:var(--text-primary);font-size:24px;margin:0}.close-btn{align-items:center;background:none;border:none;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:28px;height:30px;justify-content:center;padding:0;width:30px}.close-btn:hover{color:var(--text-primary)}.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 var(--border-secondary);border-radius:6px;flex:1 1;font-size:14px;padding:10px 15px}.search-input:focus{border-color:var(--accent-primary);outline:none}.search-btn{background:var(--accent-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px}.search-btn:hover:not(:disabled){background:var(--accent-primary-hover)}.search-btn:disabled{cursor:not-allowed;opacity:.6}.users-list{flex:1 1;overflow-y:auto;padding:0 20px 20px}.loading,.no-users{color:var(--text-tertiary);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 var(--border-primary);border-radius:8px;display:flex;justify-content:space-between;padding:15px;transition:all .2s ease}.user-card:hover{border-color:var(--accent-primary);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:var(--text-primary);font-weight:600;margin-bottom:2px}.user-email{color:var(--text-tertiary);font-size:14px;margin-bottom:4px}.user-meta{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:10px}.strava-badge{background:var(--color-strava);border-radius:4px;color:#fff;font-size:10px;font-weight:600;padding:2px 6px;text-transform:uppercase}.strava-id{color:var(--color-strava);font-size:11px;font-weight:500}.impersonate-btn{background:var(--color-error);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:var(--color-error-dark)}.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%}}.gpx-viewer-page{background:var(--bg-primary);min-height:100vh;padding-bottom:100px}.gpx-viewer-container{margin:0 auto;max-width:1200px;padding:24px}.gpx-viewer-header{margin-bottom:24px}.gpx-viewer-header .back-button{align-items:center;background:#fff;border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:14px;gap:8px;margin-bottom:16px;padding:8px 16px;transition:all .2s}.gpx-viewer-header .back-button:hover{background:var(--bg-secondary);border-color:var(--border-secondary)}.gpx-viewer-header .header-content{align-items:center;display:flex;gap:16px}.gpx-viewer-header .header-icon{align-items:center;background:linear-gradient(135deg,var(--color-strava-alt),#ff7a33);border-radius:12px;color:#fff;display:flex;height:56px;justify-content:center;width:56px}.gpx-viewer-header h1{color:#1a1a2e;font-size:24px;font-weight:700;margin:0}.gpx-viewer-subtitle{color:var(--text-tertiary);font-size:14px;margin:4px 0 0}.gpx-upload-section{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.upload-button{align-items:center;background:var(--color-strava-alt);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s}.upload-button:hover{background:#e04a00;transform:translateY(-1px)}.current-file{align-items:center;background:var(--bg-secondary);border-radius:8px;color:var(--text-secondary);display:flex;font-size:13px;gap:8px;padding:8px 16px}.gpx-error{background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:8px;color:var(--color-error);font-size:14px;margin-bottom:24px;padding:12px 16px}.gpx-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:24px}.stat-card{align-items:center;background:#fff;border:1px solid var(--border-primary);border-radius:12px;display:flex;gap:12px;padding:16px}.stat-card svg,.stat-icon-text{color:var(--color-strava-alt);flex-shrink:0}.stat-icon-text{font-size:20px;font-weight:700;text-align:center;width:20px}.stat-content{display:flex;flex-direction:column}.stat-value{color:#1a1a2e;font-size:18px;font-weight:700}.stat-label{color:var(--text-tertiary);font-size:12px}.gpx-map-container{background:#fff;border:1px solid var(--border-primary);border-radius:12px;margin-bottom:24px;overflow:hidden;position:relative}.gpx-map{height:500px;width:100%}.gpx-map.scrub-mode{cursor:ns-resize}.map-loading{background:#ffffffe6;bottom:0;flex-direction:column;gap:12px;justify-content:center;left:0;right:0;top:0;z-index:10}.map-loading,.map-style-toggle{align-items:center;display:flex;position:absolute}.map-style-toggle{background:#fff;border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 2px 8px #0000001a;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;gap:6px;left:12px;padding:8px 12px;top:12px;transition:all .2s;z-index:5}.map-style-toggle:hover{background:var(--bg-secondary);border-color:var(--border-secondary);box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.map-style-toggle svg{color:var(--color-strava-alt)}.view-toggle-button{align-items:center;background:#fff;border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 2px 8px #0000001a;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;left:160px;padding:8px 12px;position:absolute;top:12px;transition:all .2s;z-index:5}.view-toggle-button:hover{background:var(--bg-secondary);border-color:var(--border-secondary);box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.view-toggle-button svg{color:var(--color-strava-alt)}.zoom-level-display{color:var(--text-secondary);font-size:13px;font-weight:500;padding:8px 12px;right:60px;top:12px}.camera-settings,.zoom-level-display{background:#fff;border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 2px 8px #0000001a;position:absolute;z-index:5}.camera-settings{gap:8px;min-width:180px;padding:12px;right:12px;top:52px}.camera-setting,.camera-settings{display:flex;flex-direction:column}.camera-setting{gap:4px}.camera-setting label{color:var(--text-secondary);font-size:12px;font-weight:500}.camera-setting input[type=range]{-webkit-appearance:none;appearance:none;background:var(--border-primary);border-radius:3px;height:6px;outline:none;width:100%}.camera-setting input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#8b5cf6;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0003;cursor:pointer;height:16px;width:16px}.camera-setting input[type=range]::-moz-range-thumb{background:#8b5cf6;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0003;cursor:pointer;height:16px;width:16px}.map-dimension-settings{background:#fff;border:1px solid var(--border-primary);border-radius:8px;bottom:12px;box-shadow:0 2px 8px #0000001a;min-width:160px;padding:12px;right:12px}.map-dimension-settings,.tile-processing-controls{display:flex;flex-direction:column;gap:8px;position:absolute;z-index:5}.tile-processing-controls{left:12px;top:52px}.tile-process-button{align-items:center;background:#fff;border:1px solid var(--border-primary);border-radius:8px;box-shadow:0 2px 8px #0000001a;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;transition:all .2s}.tile-process-button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-secondary);box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.tile-process-button:disabled{cursor:not-allowed;opacity:.7}.tile-process-button svg{color:#8b5cf6}.tile-process-buttons{align-items:center;display:flex;gap:8px}.tile-stop-button{background:var(--color-error-light);border:1px solid var(--color-error);border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#fff;cursor:pointer;font-size:13px;font-weight:500;padding:8px 12px;transition:all .2s}.tile-stop-button:hover:not(:disabled){background:var(--color-error);border-color:var(--color-error-dark);box-shadow:0 4px 12px #ef44444d;transform:translateY(-1px)}.tile-stop-button:disabled{background:#f87171;border-color:var(--color-error-light);cursor:not-allowed;opacity:.7}.tile-options{display:flex;flex-wrap:wrap;gap:8px}.save-tiles-toggle{align-items:center;background:#fff;border:1px solid var(--border-primary);border-radius:6px;box-shadow:0 1px 4px #00000014;color:var(--text-secondary);cursor:pointer;display:flex;font-size:12px;gap:6px;padding:6px 10px;transition:all .2s}.save-tiles-toggle:hover{background:var(--bg-secondary);border-color:var(--border-secondary)}.save-tiles-toggle input[type=checkbox]{accent-color:#8b5cf6;height:14px;width:14px}.style-selector{background:#fff;border:1px solid var(--border-primary);border-radius:6px;box-shadow:0 1px 4px #00000014;color:var(--text-secondary);cursor:pointer;font-size:12px;padding:6px 10px;transition:all .2s}.style-selector:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--border-secondary)}.style-selector:disabled{cursor:not-allowed;opacity:.7}.gemini-options-section{background:#fff;border:1px solid var(--border-primary);border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-bottom:24px;padding:16px}.gemini-options-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.process-all-toggle{align-items:center;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:8px;padding:8px 12px;transition:all .2s;white-space:nowrap}.process-all-toggle:hover{background:var(--bg-secondary);border-color:var(--border-secondary)}.process-all-toggle input[type=checkbox]{accent-color:#8b5cf6;cursor:pointer;height:16px;width:16px}.process-all-toggle input[type=checkbox]:disabled{cursor:not-allowed}.process-all-toggle:has(input:disabled){cursor:not-allowed;opacity:.7}.gemini-style-input{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);font-size:14px;max-width:300px;padding:10px 14px;transition:all .2s}.gemini-style-input:focus{background:#fff;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a;outline:none}.gemini-style-input::placeholder{color:var(--text-muted)}.gemini-prompt-input{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;box-sizing:border-box;color:var(--text-secondary);font-family:inherit;font-size:14px;line-height:1.5;min-height:80px;overflow:hidden;padding:12px 14px;resize:none;transition:border-color .2s,box-shadow .2s;width:100%}.gemini-prompt-input:focus{background:#fff;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a;outline:none}.gemini-prompt-input::placeholder{color:var(--text-muted)}.gemini-prompt-input:disabled,.gemini-style-input:disabled{cursor:not-allowed;opacity:.7}.reference-photo-section{align-items:center;display:flex;gap:12px;margin-bottom:12px}.reference-photo-button{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s}.reference-photo-button:hover:not(:disabled){background:var(--border-primary);border-color:var(--border-secondary)}.reference-photo-button:disabled{cursor:not-allowed;opacity:.7}.reference-photo-preview{display:inline-block;position:relative}.reference-photo-thumb{border:2px solid #8b5cf6;border-radius:6px;height:48px;object-fit:cover;width:48px}.reference-photo-remove{align-items:center;background:var(--color-error-light);border:2px solid #fff;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;padding:0;position:absolute;right:-6px;top:-6px;transition:all .2s;width:20px}.reference-photo-remove:hover:not(:disabled){background:var(--color-error);transform:scale(1.1)}.reference-photo-remove:disabled{background:var(--text-muted);cursor:not-allowed}.processed-tiles-section{background:#fff;border:1px solid var(--border-primary);border-radius:12px;margin-bottom:24px;padding:16px}.processed-tiles-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.processed-tiles-header h4{color:var(--text-secondary);font-size:14px;font-weight:600;margin:0}.tiles-style-name{background:var(--bg-secondary);border-radius:4px;color:var(--text-tertiary);font-family:monospace;font-size:12px;padding:4px 8px}.processed-tiles-grid{display:flex;flex-wrap:wrap;gap:8px}.processed-tile-item{align-items:center;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;display:flex;flex-direction:column;padding:6px;position:relative;transition:all .2s;width:80px}.processed-tile-item:hover{border-color:var(--border-secondary);box-shadow:0 2px 8px #0000001a}.processed-tile-thumb{background:var(--border-primary);border-radius:4px;height:64px;object-fit:cover;width:64px}.processed-tile-key{color:var(--text-tertiary);font-family:monospace;font-size:9px;margin-top:4px;text-align:center;word-break:break-all}.processed-tile-delete{align-items:center;background:var(--color-error-light);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:18px;justify-content:center;opacity:0;padding:0;position:absolute;right:2px;top:2px;transition:opacity .2s,background .2s;width:18px}.processed-tile-item:hover .processed-tile-delete{opacity:1}.processed-tile-delete:hover{background:var(--color-error)}.processed-tile-delete:disabled{background:var(--text-muted);cursor:not-allowed}.gemini-debug-panel{background:#1a1a2e;border:1px solid #16213e;border-radius:12px;color:var(--border-primary);margin-bottom:24px;padding:20px}.gemini-debug-panel h4{color:#8b5cf6;font-size:16px;font-weight:600;margin:0 0 16px}.debug-images-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.debug-image-container{align-items:center;display:flex;flex-direction:column;gap:8px}.debug-image-label{color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.debug-image{background:var(--text-primary);border:2px solid var(--text-secondary);border-radius:8px;height:128px;object-fit:cover;width:128px}.debug-arrow{color:#8b5cf6;font-size:32px;padding:0 8px}.debug-prompt-section{background:var(--text-primary);border-radius:8px;padding:16px}.debug-prompt-label{color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.debug-prompt-text{color:var(--border-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.6;margin:0;white-space:pre-wrap;word-break:break-word}.debug-prompt-text.debug-thoughts{border-left:3px solid #8b5cf6;color:#a78bfa;font-style:italic;padding-left:12px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid var(--border-primary);border-radius:50%;border-top-color:var(--color-strava-alt);height:40px;width:40px}.gpx-marker{align-items:center;border-radius:50%;cursor:pointer;display:flex;height:28px;justify-content:center;width:28px}.gpx-marker-start{background:#22c55e}.gpx-marker-end,.gpx-marker-start{border:3px solid #fff;box-shadow:0 2px 8px #0000004d}.gpx-marker-end{background:var(--color-error-light)}.gpx-marker .marker-inner{color:#fff;font-size:12px;font-weight:700}.gpx-puck .puck-inner{background:linear-gradient(135deg,var(--accent-primary),#1d4ed8);border:3px solid #fff;box-shadow:0 2px 12px #3b82f680}.animation-controls{align-items:center;background:#fff;border-radius:12px;bottom:20px;box-shadow:0 4px 20px #00000026;display:flex;gap:16px;left:50%;padding:12px 16px;position:absolute;transform:translateX(-50%);z-index:10}.animation-buttons{display:flex;gap:8px}.anim-btn{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.anim-btn.play{background:linear-gradient(135deg,#22c55e,var(--color-success-dark));color:#fff}.anim-btn.play:hover{box-shadow:0 2px 8px #22c55e66;transform:scale(1.1)}.anim-btn.pause{background:linear-gradient(135deg,var(--color-warning),#d97706);color:#fff}.anim-btn.pause:hover{box-shadow:0 2px 8px #f59e0b66;transform:scale(1.1)}.anim-btn.stop{background:linear-gradient(135deg,var(--color-error-light),var(--color-error));color:#fff}.anim-btn.stop:hover{box-shadow:0 2px 8px #ef444466;transform:scale(1.1)}.animation-info{display:flex;flex-direction:column;gap:6px;min-width:180px}.progress-bar{background:var(--border-primary);border-radius:3px;height:6px;width:100%}.progress-fill{background:linear-gradient(90deg,var(--accent-primary),#1d4ed8);border-radius:3px}.animation-stats{color:var(--text-secondary);display:flex;font-size:12px;justify-content:space-between}.animation-speed{color:var(--text-tertiary)}.scrub-hint{color:var(--accent-primary);font-weight:500}.animation-hint{color:var(--text-tertiary);font-size:12px}.gpx-instructions{background:#fff;border:1px solid var(--border-primary);border-radius:12px;padding:20px}.gpx-instructions h3{color:#1a1a2e;font-size:16px;font-weight:600;margin:0 0 12px}.gpx-instructions ul{color:var(--text-tertiary);font-size:14px;margin:0;padding-left:20px}.gpx-instructions li{margin-bottom:6px}.gpx-instructions li:last-child{margin-bottom:0}@media (max-width:640px){.gpx-viewer-container{padding:16px}.gpx-viewer-header h1{font-size:20px}.gpx-viewer-header .header-icon{height:48px;width:48px}.gpx-upload-section{align-items:stretch;flex-direction:column}.current-file,.upload-button{justify-content:center}.gpx-stats{grid-template-columns:repeat(2,1fr)}.stat-card{padding:12px}.stat-value{font-size:16px}.gpx-map{height:400px}.animation-controls{bottom:12px;flex-direction:column;gap:12px;padding:10px 12px}.animation-buttons{gap:6px}.anim-btn{height:36px;width:36px}.animation-info{min-width:150px}.animation-stats{font-size:11px}.map-style-toggle{font-size:12px;padding:6px 10px}.map-style-toggle span{display:none}.view-toggle-button{font-size:12px;left:56px;padding:6px 10px}.view-toggle-button span{display:none}.zoom-level-display{font-size:12px;padding:6px 10px;right:50px}.tile-processing-controls{top:48px}.tile-process-button{font-size:12px;padding:6px 10px}.tile-process-button span{display:none}.tile-options{flex-direction:column;gap:4px}.save-tiles-toggle,.style-selector{font-size:11px;padding:4px 8px}}.tile-lightbox-overlay{align-items:center;animation:lightbox-fade-in .2s ease-out;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.tile-lightbox-content{align-items:center;animation:lightbox-scale-in .2s ease-out;display:flex;flex-direction:column;max-height:90vh;max-width:90vw;position:relative}@keyframes lightbox-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.tile-lightbox-close{align-items:center;background:#ffffff26;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;font-weight:700;height:36px;justify-content:center;position:absolute;right:-40px;top:-40px;transition:all .2s;width:36px}.tile-lightbox-close:hover{background:#ffffff40;transform:scale(1.1)}.tile-lightbox-image{border-radius:8px;box-shadow:0 8px 40px #00000080;max-height:80vh;max-width:90vw;object-fit:contain}.tile-lightbox-label{background:#0000004d;border-radius:6px;color:#ffffffb3;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;margin-top:16px;padding:8px 16px}@media (max-width:640px){.tile-lightbox-close{font-size:20px;height:32px;right:0;top:-36px;width:32px}.tile-lightbox-label{font-size:12px;padding:6px 12px}}.gpx-map-page{background:var(--bg-primary);color:var(--text-primary);display:flex;flex-direction:column;min-height:100vh;overflow-y:auto;padding-top:60px;width:100vw}.gpx-map-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border-bottom:1px solid #ffffff1a;display:flex;padding:16px 20px;z-index:10}.gpx-map-header h1{color:#fff;font-size:1.25rem;font-weight:600;margin:0}.gpx-map-page .back-button{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;gap:6px;margin-right:16px;padding:8px 12px;transition:all .2s}.gpx-map-page .back-button:hover{background:#fff3;border-color:#ffffff4d}.gpx-map-stats{align-items:center;background:#0009;border-bottom:1px solid #ffffff0d;color:#fffc;display:flex;flex-wrap:wrap;font-size:.875rem;gap:16px;padding:12px 20px}.gpx-page-title{color:#fffffff2;font-size:1.5rem;font-weight:700;letter-spacing:.03em;margin:0;text-align:center;width:100%}.gpx-page-title-divider{display:none}.stats-advanced-toggle{align-items:center;background:#ffffff1a;border:1px solid #ffffff26;border-radius:4px;color:#fff9;cursor:pointer;display:flex;font-size:.75rem;gap:4px;padding:4px 10px;transition:all .2s;white-space:nowrap}.stats-advanced-toggle .settings-icon{font-size:1.5rem;line-height:1}.stats-advanced-toggle:hover{background:#fff3;color:#ffffffe6}.checkpoints-button,.gpx-map-stats span{align-items:center;display:flex}.checkpoints-button{background:#0ea5e933;border:1px solid #0ea5e959;border-radius:999px;color:#ffffffe6;cursor:pointer;font-size:.85rem;line-height:1;padding:4px 10px;transition:all .2s}.checkpoints-button:hover{background:#0ea5e947;border-color:#0ea5e980}.tile-loading-toggle{align-items:center;background:#10b9812e;border:1px solid #10b98159;border-radius:999px;color:#ffffffe6;cursor:pointer;display:flex;font-size:.85rem;line-height:1;padding:4px 10px;transition:all .2s}.tile-loading-toggle:hover{background:#10b98147;border-color:#10b98180}.tiles-loading{color:var(--color-warning);font-style:italic}.tile-progress-container{align-items:center;display:flex;gap:8px}.tile-progress-bar{background:#fff3;border-radius:3px;height:6px;overflow:hidden;width:80px}.tile-progress-fill{background:var(--color-success);border-radius:3px;height:100%;transition:width .2s ease-out}.tile-progress-text{color:#ffffffb3;font-size:.75rem;min-width:50px}.clear-cache-button{align-items:center;background:#ef44442e;border:1px solid #ef444459;border-radius:999px;color:#ffffffe6;cursor:pointer;display:flex;font-size:.85rem;line-height:1;padding:4px 10px}.clear-cache-button:hover{background:#ef444447;border-color:#ef444480}.gpx-map-wrapper{position:relative}.gpx-map-container{height:60vh;margin-bottom:0;min-height:400px;width:100%}.gpx-map-container.scrub-mode{cursor:ns-resize}.gpx-map-controls{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border-top:1px solid #ffffff1a;display:flex;gap:12px;padding:16px 20px}.control-button{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:48px;justify-content:center;transition:all .2s;width:48px}.control-button.play{background:linear-gradient(135deg,#22c55e,var(--color-success-dark));color:#fff}.control-button.play:hover{background:linear-gradient(135deg,var(--color-success-dark),#15803d);transform:scale(1.05)}.control-button.pause{background:linear-gradient(135deg,var(--color-warning),#d97706);color:#fff}.control-button.pause:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:scale(1.05)}.control-button.stop{background:linear-gradient(135deg,var(--color-error-light),var(--color-error));color:#fff}.control-button.stop:hover{background:linear-gradient(135deg,var(--color-error),var(--color-error-dark));transform:scale(1.05)}.progress-bar{background:#ffffff1a;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--color-strava-alt),#ff7a3d);border-radius:4px;height:100%;transition:width .1s linear}.gpx-map-loading{align-items:center;display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center}.gpx-map-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff1a;border-radius:50%;border-top:4px solid var(--color-strava-alt);height:48px;width:48px}.gpx-map-loading p{color:#ffffffb3;font-size:1rem}.gpx-map-error{align-items:center;display:flex;flex-direction:column;gap:16px;height:100%;justify-content:center;padding:20px;text-align:center}.gpx-map-error h2{color:var(--color-error-light);font-size:1.5rem;margin:0}.gpx-map-error p{color:#ffffffb3;font-size:1rem;margin:0}.gpx-map-error .back-button{margin-top:8px}.gpx-puck{height:24px;position:relative;width:24px}.gpx-puck .puck-inner{background:var(--bg-card);border:2px solid var(--accent-gold);border-radius:50%;box-shadow:0 0 0 3px #c4956a4d,0 2px 8px #0003;height:24px;width:24px}.gpx-puck .puck-trail{display:none}.checkpoint-marker{align-items:center;background:var(--accent-gold);border:2px solid #fffffff2;border-radius:50%;box-shadow:var(--shadow-md);cursor:pointer;display:flex;height:26px;justify-content:center;width:26px}.checkpoint-marker-inner{color:#fff;font-size:12px;font-weight:700}.gpx-map-page .mapboxgl-popup{transition:opacity .3s ease}.gpx-map-page .mapboxgl-popup-content{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:10px;box-shadow:var(--shadow-lg);overflow:hidden;padding:0;width:220px}.gpx-map-page .mapboxgl-popup-anchor-left .mapboxgl-popup-tip{border-right-color:var(--bg-card)}.gpx-map-page .mapboxgl-popup-anchor-right .mapboxgl-popup-tip{border-left-color:var(--bg-card)}.checkpoint-popup{display:flex;flex-direction:column}.checkpoint-popup-image{aspect-ratio:1;overflow:hidden;width:100%}.checkpoint-popup-image img{display:block;height:100%;object-fit:cover;width:100%}.checkpoint-popup-body{padding:10px 12px}.checkpoint-popup-title{color:var(--text-primary);font-size:13px;font-weight:600;margin-bottom:2px}.checkpoint-popup-meta{color:var(--text-muted);font-size:11px;margin-bottom:6px}.checkpoint-popup-desc{color:var(--text-secondary);font-size:11px;line-height:1.4;white-space:pre-wrap}.activity-popup-anchor{height:8px;pointer-events:none;width:8px}.activity-popup{display:flex;flex-direction:column}.activity-popup-image{aspect-ratio:4/3;overflow:hidden;width:100%}.activity-popup-image img{display:block;height:100%;object-fit:cover;width:100%}.activity-popup-image-empty{aspect-ratio:4/3;background:#f5f0e8;width:100%}.activity-popup-body{padding:10px 12px}.activity-popup-title{color:var(--text-primary);font-size:13px;font-weight:600;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-popup-stats{color:var(--text-primary);font-size:12px;font-weight:600}.activity-popup-date{color:var(--text-muted);font-size:11px;margin-top:2px}.checkpoints-modal{max-width:520px}.checkpoint-modal-list{display:flex;flex-direction:column;gap:12px;max-height:320px;overflow:auto}.checkpoint-modal-title{color:#fff;font-size:.95rem;font-weight:700}.checkpoint-modal-meta{color:#ffffffa6;font-size:.85rem;margin-top:2px}.checkpoint-modal-desc{color:#fffc;font-size:.9rem;margin-top:6px;white-space:pre-wrap}.checkpoint-modal-image{border:1px solid #fff3;border-radius:8px;margin-top:8px;max-height:200px;object-fit:cover;width:100%}.gpx-puck .puck-tooltip{background:#000c;border-radius:6px;bottom:100%;color:#fff;font-size:13px;font-weight:500;left:50%;margin-bottom:8px;opacity:0;padding:6px 10px;pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .2s ease,visibility .2s ease;visibility:hidden;white-space:nowrap}.gpx-puck .puck-tooltip:after{border:5px solid #0000;border-top-color:#000c;content:"";left:50%;position:absolute;top:100%;transform:translateX(-50%)}.gpx-puck:hover .puck-tooltip{opacity:1;visibility:visible}.participant-marker{align-items:center;background:#666;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0000004d;color:#fff;display:flex;font-size:14px;font-weight:700;height:32px;justify-content:center;overflow:hidden;width:32px}.participant-marker.is-current-user{animation:current-user-pulse 2s ease-in-out infinite;border-color:var(--accent-gold);box-shadow:0 0 0 3px #c4956a66,0 2px 8px #0000004d}@keyframes current-user-pulse{0%,to{box-shadow:0 0 0 3px #c4956a66,0 2px 8px #0000004d}50%{box-shadow:0 0 0 6px #c4956a40,0 2px 12px #0006}}.participant-marker img{height:100%;object-fit:cover;width:100%}.join-challenge-banner{align-items:center;background:linear-gradient(135deg,#22c55e,var(--color-success-dark));color:#fff;display:flex;font-size:.9rem;justify-content:space-between;padding:12px 20px}.join-challenge-banner button{background:#fff;border:none;border-radius:6px;color:var(--color-success-dark);cursor:pointer;font-weight:600;padding:8px 16px;transition:all .2s}.join-challenge-banner button:hover{background:#ffffffe6;transform:scale(1.02)}.join-modal-overlay{align-items:center;background:#000000b3;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.join-modal{background:#1a1a1a;border:1px solid #ffffff1a;border-radius:16px;max-width:400px;padding:32px;position:relative;width:100%}.join-modal .modal-close{align-items:center;background:#0000;border:none;color:#fff9;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;top:12px}.join-modal .modal-close:hover{color:#fff}.join-modal h3{color:#fff;font-size:1.25rem;margin:0 0 8px}.join-modal p{color:#ffffffb3;font-size:.9rem;margin:0 0 20px}.join-modal input{background:#ffffff0d;border:1px solid #fff3;border-radius:8px;box-sizing:border-box;color:#fff;font-size:1rem;margin-bottom:12px;padding:12px 16px;width:100%}.join-modal input::placeholder{color:#fff6}.join-modal input:focus{border-color:#22c55e;outline:none}.join-modal .join-error{color:var(--color-error-light);font-size:.85rem;margin:0 0 12px}.join-modal .join-submit-button{background:linear-gradient(135deg,#22c55e,var(--color-success-dark));border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px;transition:all .2s;width:100%}.join-modal .join-submit-button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-success-dark),#15803d);transform:scale(1.02)}.join-modal .join-submit-button:disabled{cursor:not-allowed;opacity:.6}.join-modal .strava-connect-button{background:#0000;border:none;cursor:pointer;padding:0;width:100%}.join-modal .strava-connect-button img{height:48px}.onboarding-modal{max-width:440px}.onboarding-steps{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.onboarding-dot{background:#fff3;border-radius:50%;height:8px;transition:all .3s ease;width:8px}.onboarding-dot.active{background:#c4956a}.onboarding-dot.current{background:#c4956a;border-radius:4px;width:24px}.onboarding-step-content{align-items:center;display:flex;flex-direction:column;text-align:center}.onboarding-step-content h3{color:#fff;font-size:1.25rem;margin:0 0 8px}.onboarding-step-content p{color:#ffffffb3;font-size:.9rem;line-height:1.5;margin:0 0 20px}.onboarding-step-content input[type=email]{background:#0000;border:1px solid #fff3;border-radius:8px;box-sizing:border-box;color:#fff;font-size:1rem;margin-bottom:12px;padding:12px 16px;width:100%}.onboarding-step-content input[type=email]::placeholder{color:#fff6}.onboarding-step-content input[type=email]:focus{border-color:#c4956a;outline:none}.onboarding-profile-preview{align-items:center;display:flex;flex-direction:column;gap:16px;margin-bottom:24px;width:100%}.onboarding-avatar-wrapper{height:80px;position:relative;width:80px}.onboarding-avatar-img{border:2px solid #fff3;border-radius:50%;height:80px;object-fit:cover;width:80px}.onboarding-avatar-upload{align-items:center;background:#c4956a;border:2px solid #1a1a1a;border-radius:50%;bottom:-2px;color:#fff;cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:-2px;transition:background .2s;width:28px}.onboarding-avatar-upload:hover{background:#b08050}.onboarding-name-input{background:#0000;border:1px solid #fff3;border-radius:8px;box-sizing:border-box;color:#fff;font-size:1rem;max-width:260px;padding:10px 16px;text-align:center;width:100%}.onboarding-name-input::placeholder{color:#fff6}.onboarding-name-input:focus{border-color:#c4956a;outline:none}.onboarding-diamond-hint{align-items:center;background:#c4956a26;border:1px solid #c4956a4d;border-radius:8px;box-sizing:border-box;color:#c4956a;display:flex;font-size:.85rem;gap:8px;margin-bottom:16px;padding:10px 16px;width:100%}.onboarding-diamond-hint strong{color:#dab88a}.onboarding-diamond-earned{align-items:center;animation:onboarding-fade-in .4s ease;background:#22c55e26;border:1px solid #22c55e4d;border-radius:8px;color:#22c55e;display:flex;font-size:.85rem;gap:6px;margin-bottom:12px;padding:8px 14px}@keyframes onboarding-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.onboarding-loading{align-items:center;color:#ffffff80;display:flex;flex-direction:column;font-size:.85rem;gap:12px;padding:24px 0}.onboarding-spinner{animation:spin .8s linear infinite;border:2px solid #ffffff26;border-radius:50%;border-top-color:#c4956a;height:28px;width:28px}.onboarding-activity-card{align-items:center;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;box-sizing:border-box;display:flex;gap:14px;margin-bottom:16px;padding:14px 16px;width:100%}.onboarding-activity-icon{align-items:center;background:#c4956a26;border-radius:10px;color:#c4956a;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.onboarding-activity-info{flex:1 1;text-align:left}.onboarding-activity-name{color:#fff;font-size:.95rem;font-weight:600;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.onboarding-activity-stats{color:#ffffff80;font-size:.8rem}.onboarding-no-activity{color:#fff6;font-size:.85rem;padding:16px 0}.onboarding-skip-btn{align-items:center;background:#0000;border:none;color:#ffffff80;cursor:pointer;display:flex;font-size:.85rem;gap:4px;justify-content:center;margin-top:4px;padding:10px 0;transition:color .2s;width:100%}.onboarding-skip-btn:hover{color:#fffc}.auto-append-modal{max-width:380px;text-align:center}.auto-append-badge{align-items:center;background:#a855f726;border-radius:20px;color:#a855f7;display:inline-flex;font-size:.85rem;font-weight:600;gap:6px;margin-bottom:16px;padding:6px 14px}.auto-append-icon{color:#fc5200;margin-bottom:12px}.auto-append-title{color:#fff;font-size:1.15rem;font-weight:600;margin:0 0 10px}.auto-append-description{color:#ffffffa6;font-size:.9rem;line-height:1.5;margin:0 0 20px}.auto-append-success{padding:24px 0;text-align:center}.auto-append-success-icon{align-items:center;background:#22c55e26;border-radius:50%;color:#22c55e;display:flex;height:56px;justify-content:center;margin:0 auto 16px;width:56px}.auto-append-success h3{color:#fff;font-size:1.15rem;margin:0 0 6px}.auto-append-success p{color:#ffffffa6;font-size:.9rem;margin:0}.challenge-leaderboard{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;padding:16px 20px}.leaderboard-track{cursor:pointer;height:72px;margin:0 16px;position:relative}.leaderboard-elevation{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}.leaderboard-elevation path{fill:#ffffff14;stroke:#ffffff1f;stroke-width:1}.leaderboard-line{background:#fff3;border-radius:2px;height:4px;left:0;position:absolute;right:0;top:50%;transform:translateY(-50%)}.leaderboard-puck{background:#ffffff59;border:2px solid #fff9;border-radius:50%;box-shadow:0 0 8px #ffffff4d;height:20px;pointer-events:none;transition:left .15s ease-out;width:20px;z-index:5}.leaderboard-avatar,.leaderboard-puck{position:absolute;top:50%;transform:translate(-50%,-50%)}.leaderboard-avatar{align-items:center;background:#666;border:2px solid #fff;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;height:36px;justify-content:center;overflow:hidden;transition:left .5s ease-out;width:36px}.leaderboard-avatar.is-current-user{border-color:var(--accent-gold);box-shadow:0 0 0 2px #c4956a80;z-index:10}.leaderboard-avatar img{height:100%;object-fit:cover;width:100%}.leaderboard-avatar.beyond-fog{filter:blur(1px);opacity:.25;pointer-events:none}.leader-badge{background:var(--color-warning);border-radius:4px;color:#fff;font-size:9px;font-weight:700;line-height:1;padding:2px 4px;position:absolute;right:-8px;top:-8px}.leaderboard-labels{color:#ffffff80;display:flex;font-size:11px;justify-content:space-between;margin:8px 16px 0}.challenge-stats-section{background:var(--bg-tertiary);border-top:1px solid var(--border-primary);padding:28px 20px}.challenge-stats-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(6,1fr);margin:0 auto}.challenge-stat-card{align-items:center;display:flex;flex-direction:column;gap:4px;padding:16px 8px}.challenge-stat-icon{color:var(--accent-gold);margin-bottom:2px}.challenge-stat-value{color:var(--text-primary);font-size:1.2rem;font-weight:700;line-height:1.2}.challenge-stat-label{color:var(--text-muted);font-size:.7rem;letter-spacing:.05em;text-align:center;text-transform:uppercase}.travelog-timeline{background:var(--bg-secondary);border-top:1px solid var(--border-primary);padding:32px 20px}.travelog-header{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:28px}.travelog-profile-pic{border:2px solid var(--accent-gold);border-radius:50%;flex-shrink:0;height:40px;object-fit:cover;width:40px}.travelog-title{color:var(--text-primary);font-size:1.3rem;font-weight:700;margin:0}.travelog-print-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:600;gap:6px;padding:6px 14px;transition:all .2s;white-space:nowrap}.travelog-print-btn:hover:not(:disabled){background:var(--accent-gold);border-color:var(--accent-gold);color:#fff;transform:translateY(-1px)}.travelog-print-btn:disabled{cursor:wait;opacity:.6;transform:none}.travelog-manage-btn{align-items:center;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.travelog-manage-btn:hover{background:var(--accent-gold);border-color:var(--accent-gold);color:#fff;transform:translateY(-1px)}.manage-modal{display:flex;flex-direction:column;max-height:70vh}.manage-modal h3{color:#fff;font-size:1.1rem;margin:0 0 16px}.manage-activity-list{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto}.manage-activity-row{align-items:center;background:#f9f9f9;background:var(--bg-secondary,#f9f9f9);border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.manage-activity-info{display:flex;flex-direction:column;min-width:0}.manage-activity-name{color:var(--text-primary);font-size:.88rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manage-activity-meta{color:var(--text-secondary);font-size:.78rem;margin-top:2px}.manage-delete-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:6px;color:var(--text-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.manage-delete-btn:hover:not(:disabled){background:#d32f2f14;border-color:#d32f2f33;color:#d32f2f}.manage-delete-btn:disabled{cursor:not-allowed;opacity:.5}@keyframes manage-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.manage-spinner{animation:manage-spin .8s linear infinite}.manage-empty{color:var(--text-secondary);font-size:.9rem;padding:24px 0;text-align:center}.travelog-print-logo{align-items:center;border-bottom:2px solid var(--accent-gold);display:none;gap:12px;justify-content:flex-start;margin-bottom:18px;padding:0 0 14px}.travelog-print-logo img{flex-shrink:0;height:36px;object-fit:contain;width:36px}.travelog-print-logo span{color:var(--text-primary);font-size:1.5rem;font-weight:700;letter-spacing:normal}.checkpoints-diamond-counter{align-items:center;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:20px;box-shadow:var(--shadow-sm);color:#a78bfa;display:flex;font-size:.85rem;font-weight:600;gap:6px;padding:6px 14px}.travelog-user-stats{margin-bottom:28px}.travelog-completed-banner{align-items:center;background:linear-gradient(135deg,#c4956a26,#c4956a0d);border:1px solid var(--accent-gold);border-radius:12px;color:var(--accent-gold);display:flex;gap:12px;justify-content:center;margin:0 auto 16px;max-width:360px;padding:16px 24px}.completed-title{color:var(--accent-gold);font-size:1.05rem;font-weight:700}.completed-subtitle{color:var(--text-muted);font-size:.8rem;margin-top:2px}.travelog-completed-wrap{position:relative}.confetti-container{height:0;left:0;overflow:visible;pointer-events:none;position:absolute;right:0;top:50%;z-index:10}.confetti-piece{animation:confetti-burst 2.5s ease-out var(--delay) forwards;background:var(--color);border-radius:2px;height:8px;left:var(--x);opacity:0;position:absolute;top:0;width:8px}.confetti-piece:nth-child(odd){border-radius:50%;height:10px;width:6px}@keyframes confetti-burst{0%{opacity:1;transform:translateY(0) rotate(0deg)}15%{opacity:1;transform:translateY(-150px) rotate(180deg)}to{opacity:0;transform:translateY(100px) rotate(2turn)}}.travelog-masonry{grid-column-gap:0;grid-row-gap:0;column-gap:0;display:grid;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:780px;padding:0 16px;row-gap:0}.tm-cell{align-items:center;display:flex;flex-direction:column}.tm-cell,.tm-cell.tm-empty{padding:0}.tm-cell.tm-empty-line{overflow:visible;padding:0;position:relative}.tm-cell.tm-empty-line .tm-dot-row{margin-bottom:0}.tm-dot-row{align-items:center;display:flex;height:18px;margin-bottom:8px;width:100%}.tm-dot-line{flex:1 1;height:3px}.tm-dot-line.tm-line-active{background:var(--accent-gold)}.tm-dot-line.tm-line-inactive{background:var(--border-primary)}.tm-dot-line.tm-hidden{visibility:hidden}.tm-dot{border:3px solid var(--bg-secondary);border-radius:50%;flex-shrink:0;height:12px;width:12px}.tm-dot.tm-dot-active{background:var(--accent-gold)}.tm-dot.tm-dot-inactive{background:var(--border-secondary)}.tm-dot.tm-dot-current{animation:pulse-dot 2s ease-in-out infinite;background:var(--accent-rose);border:3px solid var(--bg-secondary);box-shadow:0 0 0 3px #c98b8b4d;height:18px;width:18px}.tm-cell .tl-act-card,.tm-cell .tl-cp-card{width:calc(100% - 12px)}.tm-story{margin-top:4px;padding:0 6px;text-align:center}.tm-line-active{background:var(--accent-gold)}.tm-line-inactive{background:var(--border-primary)}.tm-progress-card{align-items:center;color:var(--text-muted);display:flex;font-size:.8rem;justify-content:center;padding:12px 8px;text-align:center;width:calc(100% - 12px)}.tm-bend-end,.tm-bend-start{overflow:visible;position:relative}.tm-bend-end .tm-dot-row,.tm-bend-start .tm-dot-row{overflow:visible}.tm-bend-end.tm-bend-right .tm-dot-row .tm-dot-line:last-child,.tm-bend-start.tm-bend-right .tm-dot-row .tm-dot-line:last-child{position:relative}.tm-bend-end.tm-bend-right .tm-dot-row .tm-dot-line:last-child:after,.tm-bend-start.tm-bend-right .tm-dot-row .tm-dot-line:last-child:after{background:inherit;content:"";height:3px;position:absolute;right:-4px;top:0;width:4px}.tm-bend-end.tm-bend-right:after{background:#0000;border-right:3px solid #0000;border-top:3px solid #0000;border-top-right-radius:12px;box-sizing:border-box;content:"";height:12px;position:absolute;right:-16px;top:7.5px;width:12px;z-index:2}.tm-bend-end.tm-bend-right:before{bottom:0;content:"";position:absolute;right:-16px;top:19.5px;width:3px;z-index:1}.tm-bend-start.tm-bend-right:before{background:#0000;border-bottom:3px solid #0000;border-bottom-right-radius:12px;border-right:3px solid #0000;bottom:calc(100% - 10.5px);box-sizing:border-box;content:"";height:12px;position:absolute;right:-16px;width:12px;z-index:2}.tm-bend-start.tm-bend-right:after{content:"";height:-1.5px;position:absolute;right:-16px;top:0;width:3px;z-index:1}.tm-bend-end.tm-bend-left .tm-dot-row .tm-dot-line:first-child,.tm-bend-start.tm-bend-left .tm-dot-row .tm-dot-line:first-child{position:relative}.tm-bend-end.tm-bend-left .tm-dot-row .tm-dot-line:first-child:after,.tm-bend-start.tm-bend-left .tm-dot-row .tm-dot-line:first-child:after{background:inherit;content:"";height:3px;left:-4px;position:absolute;top:0;width:4px}.tm-bend-end.tm-bend-left:after{background:#0000;border-left:3px solid #0000;border-top:3px solid #0000;border-top-left-radius:12px;box-sizing:border-box;content:"";height:12px;left:-16px;position:absolute;top:7.5px;width:12px;z-index:2}.tm-bend-end.tm-bend-left:before{bottom:0;content:"";left:-16px;position:absolute;top:19.5px;width:3px;z-index:1}.tm-bend-start.tm-bend-left:before{background:#0000;border-bottom:3px solid #0000;border-bottom-left-radius:12px;border-left:3px solid #0000;bottom:calc(100% - 10.5px);box-sizing:border-box;content:"";height:12px;left:-16px;position:absolute;width:12px;z-index:2}.tm-bend-start.tm-bend-left:after{content:"";height:-1.5px;left:-16px;position:absolute;top:0;width:3px;z-index:1}.tm-bend-end.tm-bend-active:after{border-color:var(--accent-gold)}.tm-bend-end.tm-bend-inactive:after{border-color:var(--border-primary)}.tm-bend-end.tm-bend-active:before{background:var(--accent-gold)}.tm-bend-end.tm-bend-inactive:before{background:var(--border-primary)}.tm-bend-start.tm-bend-active:before{border-color:var(--accent-gold)}.tm-bend-start.tm-bend-inactive:before{border-color:var(--border-primary)}.tm-bend-start.tm-bend-active:after{background:var(--accent-gold)}.tm-bend-start.tm-bend-inactive:after{background:var(--border-primary)}.tm-bookend-conn-start{overflow:visible;position:relative}.tm-bookend-conn-start .tm-dot-row{overflow:visible}.tm-bookend-conn-start .tm-dot-row .tm-dot-line:first-child{position:relative}.tm-bookend-conn-start .tm-dot-row .tm-dot-line:first-child:after{background:inherit;content:"";height:3px;left:-4px;position:absolute;top:0;width:4px}.tm-bookend-conn-start:before{background:#0000;border-bottom:3px solid var(--accent-gold);border-bottom-left-radius:12px;border-left:3px solid var(--accent-gold);bottom:calc(100% - 10.5px);box-sizing:border-box;content:"";height:12px;left:-16px;position:absolute;width:12px;z-index:2}.tm-bookend-conn-start:after{background:var(--accent-gold);content:"";height:-1.5px;left:-16px;position:absolute;top:0;width:3px;z-index:1}.tm-bookend-conn-end{overflow:visible;position:relative}.tm-bookend-conn-end .tm-dot-row{overflow:visible}.tm-bookend-conn-end.tm-bookend-conn-right .tm-dot-row .tm-dot-line:last-child{position:relative}.tm-bookend-conn-end.tm-bookend-conn-right .tm-dot-row .tm-dot-line:last-child:after{background:inherit;content:"";height:3px;position:absolute;right:-4px;top:0;width:4px}.tm-bookend-conn-end.tm-bookend-conn-right:after{background:#0000;border-right:3px solid var(--border-primary);border-top:3px solid var(--border-primary);border-top-right-radius:12px;box-sizing:border-box;content:"";height:12px;position:absolute;right:-16px;top:7.5px;width:12px;z-index:2}.tm-bookend-conn-end.tm-bookend-conn-right:before{background:var(--border-primary);bottom:0;content:"";position:absolute;right:-16px;top:19.5px;width:3px;z-index:1}.tm-bookend-conn-end.tm-bookend-conn-left .tm-dot-row .tm-dot-line:first-child{position:relative}.tm-bookend-conn-end.tm-bookend-conn-left .tm-dot-row .tm-dot-line:first-child:after{background:inherit;content:"";height:3px;left:-4px;position:absolute;top:0;width:4px}.tm-bookend-conn-end.tm-bookend-conn-left:after{background:#0000;border-left:3px solid var(--border-primary);border-top:3px solid var(--border-primary);border-top-left-radius:12px;box-sizing:border-box;content:"";height:12px;left:-16px;position:absolute;top:7.5px;width:12px;z-index:2}.tm-bookend-conn-end.tm-bookend-conn-left:before{background:var(--border-primary);bottom:0;content:"";left:-16px;position:absolute;top:19.5px;width:3px;z-index:1}.tm-bookend{align-items:center;display:flex;grid-column:1/-1;overflow:visible;padding:8px 0;position:relative;z-index:2}.tm-bookend.tm-bookend-left{justify-content:flex-start;padding-left:0}.tm-bookend.tm-bookend-right{justify-content:flex-end;padding-right:0}.tm-bookend-start.tm-bookend-left:before{background:var(--accent-gold);content:"";height:3px;left:-4px;position:absolute;top:50%;transform:translateY(-1.5px);width:4px}.tm-bookend-start.tm-bookend-left:after{background:#0000;border-left:3px solid var(--accent-gold);border-top:3px solid var(--accent-gold);border-top-left-radius:12px;bottom:0;box-sizing:border-box;content:"";left:-16px;position:absolute;top:calc(50% - 1.5px);width:12px;z-index:2}.tm-bookend-end.tm-bookend-left:after{background:var(--border-primary);content:"";height:calc(50% - 13.5px);left:-16px;position:absolute;top:0;width:3px;z-index:1}.tm-bookend-end.tm-bookend-left:before{background:#0000;border-bottom:3px solid var(--border-primary);border-bottom-left-radius:12px;border-left:3px solid var(--border-primary);box-sizing:border-box;content:"";height:12px;left:-16px;position:absolute;top:calc(50% - 13.5px);width:16px;z-index:2}.tm-bookend-end.tm-bookend-right:after{background:var(--border-primary);content:"";height:calc(50% - 13.5px);position:absolute;right:-16px;top:0;width:3px;z-index:1}.tm-bookend-end.tm-bookend-right:before{background:#0000;border-bottom:3px solid var(--border-primary);border-bottom-right-radius:12px;border-right:3px solid var(--border-primary);box-sizing:border-box;content:"";height:12px;position:absolute;right:-16px;top:calc(50% - 13.5px);width:16px;z-index:2}.tm-act-divider{display:flex;grid-column:1/-1;justify-content:center;overflow:visible;padding:12px 0;position:relative;z-index:2}.tm-act-divider.tm-act-divider-right:after{bottom:0;content:"";position:absolute;right:-16px;top:0;width:3px;z-index:1}.tm-act-divider.tm-act-divider-left:after{bottom:0;content:"";left:-16px;position:absolute;top:0;width:3px;z-index:1}.tm-act-divider.tm-bend-active:after{background:var(--accent-gold)}.tm-act-divider.tm-bend-inactive:after{background:var(--border-primary)}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 3px #c98b8b4d}50%{box-shadow:0 0 0 6px #c98b8b1a}}.tl-story-block{max-width:280px;padding:12px 0;text-align:center}.tl-story-text{color:var(--text-secondary);font-size:.88rem;line-height:1.5}.tl-story-text strong{color:var(--text-primary);font-weight:600}.tl-story-excerpt{color:var(--text-muted);font-size:.8rem;font-style:italic;line-height:1.5;margin-top:6px}.tl-story-locked .tl-story-text{color:var(--text-muted);font-size:.82rem}.tl-story-locked .tl-story-text strong{color:var(--text-muted)}.tl-story-progress .tl-story-text{color:var(--accent-rose);font-size:.9rem;font-weight:600}.tl-story-create-btn{align-items:center;background:var(--accent-gold);border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.72rem;font-weight:600;gap:4px;margin-top:8px;padding:5px 12px;transition:all .2s}.tl-story-create-btn:hover{background:var(--accent-gold-dark);transform:translateY(-1px)}.tl-act-card .tl-story-create-btn{border-radius:0 0 12px 12px;justify-content:center;margin-top:0;width:100%}.tl-story-skeleton-line{animation:skeleton-pulse 1.5s ease-in-out infinite;background:var(--bg-tertiary);border-radius:4px;height:14px;margin:0 auto;width:70%}.tl-cp-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,box-shadow .2s,border-color .2s;width:180px}.tl-cp-card.unlocked{cursor:pointer}.tl-cp-card.unlocked:hover{border-color:var(--accent-rose-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.tl-cp-card.locked{opacity:.7;pointer-events:none}.tl-cp-image{aspect-ratio:1/1;background:var(--bg-tertiary);overflow:hidden;position:relative;width:100%}.tl-cp-image img{display:block;height:100%;object-fit:cover;width:100%}.tl-cp-fog{background:#2a2a2a;color:#ffffff26;font-size:1.8rem}.tl-cp-fog,.tl-cp-placeholder{align-items:center;display:flex;font-weight:700;height:100%;justify-content:center;width:100%}.tl-cp-placeholder{color:var(--text-muted);font-size:1.5rem}.tl-cp-body{padding:10px 12px}.tl-cp-title{color:var(--text-primary);font-size:.82rem;font-weight:600;margin-bottom:2px}.tl-cp-card.locked .tl-cp-title{color:var(--text-muted)}.tl-cp-meta{display:flex;flex-wrap:wrap;font-size:.7rem;gap:4px}.tl-cp-athletes,.tl-cp-meta{align-items:center;color:var(--text-muted)}.tl-cp-athletes{display:inline-flex;gap:2px;margin-left:2px}.tl-cp-diamond{align-items:center;color:#a78bfa;display:inline-flex;font-weight:600;gap:2px;margin-left:4px}.tl-cp-diamond.claimed{color:#10b981}.tl-cp-card.locked .tl-cp-diamond{opacity:.4}.tl-act-card{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:12px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .2s,border-color .2s;width:180px}.tl-act-card:hover{border-color:var(--accent-rose-light);box-shadow:var(--shadow-md)}.tl-act-image{aspect-ratio:4/3;background:var(--bg-tertiary);overflow:hidden;position:relative;width:100%}.tl-act-play-overlay{align-items:center;background:#00000059;color:#fff;display:flex;inset:0;justify-content:center;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s ease}.tl-act-card:hover .tl-act-play-overlay{opacity:1}.tl-act-image canvas,.tl-act-image img{display:block;height:100%;object-fit:cover;width:100%}.tl-act-body{padding:8px 12px}.tl-act-stats{color:var(--text-primary);font-size:.78rem;font-weight:600}.tl-act-date{color:var(--text-muted);font-size:.7rem;margin-top:2px}.tl-act-skeleton{pointer-events:none}.tl-act-image-skeleton{aspect-ratio:4/3;width:100%}.tl-act-image-skeleton,.tl-act-skeleton-line{animation:skeleton-pulse 1.5s ease-in-out infinite;background:var(--bg-tertiary)}.tl-act-skeleton-line{border-radius:4px;height:12px}.travelog-act-divider{display:flex;justify-content:center;margin:16px 0;position:relative}.travelog-act-divider:before{background:var(--border-primary);bottom:-16px;content:"";left:50%;position:absolute;top:-16px;transform:translateX(-50%);width:3px;z-index:0}.travelog-act-banner{align-items:center;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:20px;box-shadow:var(--shadow-sm);display:flex;gap:10px;padding:10px 24px;position:relative;z-index:1}.travelog-act-name{color:var(--text-primary);font-size:.95rem;font-weight:600}.travelog-act-style{background:var(--bg-tertiary);border-radius:999px;color:var(--text-muted);font-size:.75rem;padding:3px 10px}.travelog-bookend{align-items:center;display:flex;flex-direction:column;padding:8px 0;position:relative}.travelog-bookend-start:after{background:var(--accent-gold);bottom:-8px}.travelog-bookend-end-wrap:before,.travelog-bookend-start:after{content:"";height:16px;left:50%;position:absolute;transform:translateX(-50%);width:3px}.travelog-bookend-end-wrap:before{background:var(--border-primary);top:-8px}.travelog-bookend-marker{align-items:center;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:20px;box-shadow:var(--shadow-sm);color:var(--text-primary);display:flex;flex-direction:column;font-size:.95rem;font-weight:700;padding:10px 28px}.travelog-bookend-end{background:var(--accent-gold);border-color:var(--accent-gold);color:#fff}.travelog-bookend-end .travelog-bookend-sub{color:#fffc}.travelog-bookend-sub{color:var(--text-muted);font-size:.72rem;font-weight:500}.travelog-empty{color:var(--text-muted);font-size:.95rem;padding:30px 20px;text-align:center}.checkpoint-detail-modal{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:16px;box-shadow:var(--shadow-xl);max-width:480px;overflow:hidden;position:relative;width:100%}.checkpoint-detail-modal .modal-close{align-items:center;background:#00000080;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:6px;position:absolute;right:12px;top:12px;transition:background .2s;z-index:2}.checkpoint-detail-modal .modal-close:hover{background:#000000b3}.checkpoint-detail-image{display:block;object-fit:contain;width:100%}.checkpoint-detail-content{padding:24px}.checkpoint-detail-label{color:var(--text-muted);font-size:.75rem;font-weight:700;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.checkpoint-detail-name{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0 0 4px}.checkpoint-detail-distance{color:var(--text-tertiary);font-size:.85rem;margin-bottom:16px}.checkpoint-detail-story{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:20px;white-space:pre-wrap}.checkpoint-detail-download{align-items:center;background:var(--accent-gold);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:8px;padding:10px 20px;text-decoration:none;transition:all .2s}.checkpoint-detail-download:hover{background:var(--accent-gold-dark);transform:translateY(-1px)}.checkpoint-share-section{margin-top:16px}.checkpoint-share-download{align-items:center;background:var(--accent-gold);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;justify-content:center;padding:10px 20px;transition:all .2s;width:100%}.checkpoint-share-download:hover{background:var(--accent-gold-dark);transform:translateY(-1px)}.checkpoint-share-download:disabled{cursor:not-allowed;opacity:.6;transform:none}.checkpoint-share-divider{align-items:center;color:var(--text-muted);display:flex;font-size:.75rem;gap:12px;margin:16px 0 12px}.checkpoint-share-divider:after,.checkpoint-share-divider:before{background:var(--border-primary);content:"";flex:1 1;height:1px}.checkpoint-share-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.checkpoint-share-option{align-items:center;background:#0000;border:1px solid var(--border-primary);border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:8px;justify-content:center;padding:10px 12px;transition:all .2s}.checkpoint-share-option:hover{background:var(--bg-secondary);border-color:var(--text-muted)}.checkpoint-share-option svg{flex-shrink:0}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}@media (max-width:480px){.gpx-map-header{padding:12px 16px}.gpx-map-header h1{font-size:1rem}.gpx-map-stats{font-size:.75rem;gap:12px;padding:8px 16px}.gpx-map-controls{padding:12px 16px}.control-button{height:40px;width:40px}.join-challenge-banner{flex-direction:column;gap:10px;text-align:center}.join-modal{padding:24px}.leaderboard-track{height:60px}.leaderboard-avatar{font-size:12px;height:28px;width:28px}.leaderboard-puck{height:16px;width:16px}.travelog-profile-pic{height:32px;width:32px}.travelog-title{font-size:1.1rem}.travelog-timeline{padding:24px 12px}.travelog-masonry{grid-template-columns:repeat(2,1fr);max-width:100%}.tm-bend-end.tm-bend-right:after,.tm-bend-end.tm-bend-right:before,.tm-bend-start.tm-bend-right:after,.tm-bend-start.tm-bend-right:before{right:-10px}.tm-bend-end.tm-bend-right .tm-dot-row .tm-dot-line:last-child:after,.tm-bend-start.tm-bend-right .tm-dot-row .tm-dot-line:last-child:after{right:-4px;width:4px}.tm-bend-end.tm-bend-left:after,.tm-bend-end.tm-bend-left:before,.tm-bend-start.tm-bend-left:after,.tm-bend-start.tm-bend-left:before{left:-10px}.tm-bend-end.tm-bend-left .tm-dot-row .tm-dot-line:first-child:after,.tm-bend-start.tm-bend-left .tm-dot-row .tm-dot-line:first-child:after{left:-4px;width:4px}.tm-bookend-start.tm-bookend-left:after,.tm-bookend-start.tm-bookend-left:before{left:-10px}.tm-bookend-end.tm-bookend-right:after,.tm-bookend-end.tm-bookend-right:before{right:-10px}.tm-bookend-conn-start:after,.tm-bookend-conn-start:before,.tm-bookend-end.tm-bookend-left:after,.tm-bookend-end.tm-bookend-left:before{left:-10px}.tm-bookend-conn-start .tm-dot-row .tm-dot-line:first-child:after{left:-4px;width:4px}.tm-bookend-conn-end.tm-bookend-conn-right:after,.tm-bookend-conn-end.tm-bookend-conn-right:before{right:-10px}.tm-bookend-conn-end.tm-bookend-conn-right .tm-dot-row .tm-dot-line:last-child:after{right:-4px;width:4px}.tm-bookend-conn-end.tm-bookend-conn-left:after,.tm-bookend-conn-end.tm-bookend-conn-left:before{left:-10px}.tm-bookend-conn-end.tm-bookend-conn-left .tm-dot-row .tm-dot-line:first-child:after{left:-4px;width:4px}.tm-act-divider.tm-act-divider-right:after{right:-10px}.tm-act-divider.tm-act-divider-left:after{left:-10px}.tl-story-create-map{display:none}.travelog-act-divider{font-size:.85rem;padding:12px 0}.challenge-stats-grid{gap:4px;grid-template-columns:repeat(3,1fr)}.challenge-stat-card{padding:12px 6px}.challenge-stat-value{font-size:1.05rem}}@media (max-width:500px){.gpx-map-page .mapboxgl-popup-content{width:160px}.checkpoint-marker{height:20px;width:20px}.checkpoint-marker-inner{font-size:10px}.checkpoint-popup-title{font-size:11px}.checkpoint-popup-meta{font-size:9px}.checkpoint-popup-desc{font-size:9px;line-height:1.3}.checkpoint-popup-body{padding:8px 10px}.activity-popup-title{font-size:11px}.activity-popup-stats{font-size:10px}.activity-popup-date{font-size:9px}.activity-popup-body{padding:8px 10px}}@media print{*{color-adjust:exact!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}@page{size:A4 portrait;margin:12mm 10mm}body,html{background:#fff!important;color:#333!important;margin:0!important;padding:0!important}.challenge-leaderboard,.challenge-stats-section,.confetti-container,.gpx-map-controls,.gpx-map-stats,.gpx-map-wrapper,.join-challenge-banner,.join-modal-overlay,.navbar-desktop,.navbar-mobile-header,.tl-story-create-btn,.travelog-manage-btn,.travelog-print-btn,.travelog-user-stats,footer,nav{display:none!important}.gpx-map-page{background:#fff!important;min-height:auto!important;overflow:visible!important;padding:0!important}.travelog-timeline{background:#fff!important;border-top:none!important;max-width:100%!important;padding:20px 10px!important;width:100%!important}.travelog-timeline,.travelog-timeline *{--bg-secondary:#fff;--bg-card:#fff;--bg-tertiary:#f5f5f5;--text-primary:#333;--text-secondary:#555;--text-muted:#888;--border-primary:#ddd;--border-secondary:#eee;--accent-gold:#c4956a;--accent-rose:#e07a5f;--accent-rose-light:#e07a5f;--shadow-sm:none;--shadow-md:none}.travelog-print-logo{align-items:center;border-bottom:2px solid #c4956a;display:flex!important;gap:10px;justify-content:flex-start;margin-bottom:18px;padding:0 0 14px}.travelog-print-logo img{height:36px;object-fit:contain;width:36px}.travelog-print-logo span{color:#2c2c2c;font-size:1.5rem;font-weight:700;letter-spacing:normal}.travelog-header{margin-bottom:20px!important}.travelog-title{color:#333!important}.travelog-profile-pic{border-color:#c4956a!important}.travelog-masonry{max-width:100%!important}.tl-act-card,.tl-cp-card{background:#fff!important;border:1px solid #ddd!important;box-shadow:none!important;break-inside:avoid;page-break-inside:avoid}.tl-act-image canvas,.tl-act-image img,.tl-cp-image img{height:auto!important;max-width:100%!important}.tm-dot-line.tm-line-active{background:#c4956a!important}.tm-dot-line.tm-line-inactive{background:#ddd!important}.tm-dot.tm-dot-active{background:#c4956a!important;border-color:#fff!important}.tm-dot.tm-dot-inactive{background:#eee!important;border-color:#fff!important}.tm-dot.tm-dot-current{background:#e07a5f!important;border-color:#fff!important}.tm-dot-row svg{overflow:visible!important}.tm-dot-row svg line,.tm-dot-row svg path{stroke:#c4956a!important}.tm-bend-end .tm-dot-row .tm-dot-line:first-child:after,.tm-bend-end .tm-dot-row .tm-dot-line:last-child:after,.tm-bend-end.tm-bend-left .tm-dot-row .tm-dot-line:first-child:after,.tm-bend-end.tm-bend-right .tm-dot-row .tm-dot-line:last-child:after,.tm-bend-start .tm-dot-row .tm-dot-line:first-child:after,.tm-bend-start .tm-dot-row .tm-dot-line:last-child:after,.tm-bend-start.tm-bend-left .tm-dot-row .tm-dot-line:first-child:after,.tm-bend-start.tm-bend-right .tm-dot-row .tm-dot-line:last-child:after{background:#c4956a!important}.tm-ubend-arc,[class*=tm-ubend]{border-color:#c4956a!important}.travelog-bookend-marker{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important}.travelog-bookend-end{background:#c4956a!important;border-color:#c4956a!important;color:#fff!important}.travelog-bookend-end .travelog-bookend-sub{color:#fffc!important}.travelog-bookend-start:after{background:#c4956a!important}.travelog-bookend-end-wrap:before{background:#ddd!important}.travelog-act-divider:before{background:#c4956a!important}.travelog-act-name{background:#f5f5f5!important;border:1px solid #ddd!important;color:#333!important}.travelog-act-name.locked{background:#f5f5f5!important;color:#888!important}.travelog-completed-banner{background:linear-gradient(135deg,#c4956a26,#c4956a0d)!important;border:1px solid #c4956a!important}.tm-bookend,.tm-cell,.travelog-act-divider,.travelog-completed-banner{break-inside:avoid;page-break-inside:avoid}.checkpoints-diamond-counter{background:#fff!important;border:1px solid #ddd!important}}.legal-page{background:var(--bg-primary);line-height:1.6;margin:0 auto;max-width:800px;min-height:100vh;padding:100px 20px 80px}.legal-page h1{color:var(--text-primary);font-size:36px;font-weight:600;margin-bottom:8px;text-align:center}.effective-date{color:var(--text-tertiary);font-size:14px;font-style:italic;margin-bottom:32px;text-align:center}.privacy-highlight{background:linear-gradient(135deg,var(--bg-secondary) 0,var(--bg-tertiary) 100%);border:2px solid var(--accent-primary);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,var(--accent-primary) 0,var(--color-success) 50%,var(--accent-primary) 100%);content:"";height:4px;left:0;position:absolute;right:0;top:0}.privacy-highlight h3{align-items:center;color:var(--text-secondary);display:flex;font-size:20px;font-weight:700;gap:8px;margin-bottom:12px;margin-top:0}.privacy-highlight p{color:var(--text-primary);font-size:16px;line-height:1.6;margin-bottom:0}.privacy-highlight strong{color:var(--text-secondary);font-weight:600}.legal-page h2{border-bottom:2px solid var(--border-primary);color:var(--text-primary);font-size:24px;font-weight:600;margin-bottom:16px;margin-top:32px;padding-bottom:8px}.legal-page h3{color:var(--text-secondary);font-size:18px;font-weight:600;margin-bottom:12px;margin-top:24px}.legal-page ol,.legal-page p,.legal-page ul{color:var(--text-secondary);margin-bottom:16px}.legal-page ol,.legal-page ul{padding-left:24px}.legal-page li{margin-bottom:8px}.legal-page a{color:var(--accent-primary);font-weight:500;text-decoration:none}.legal-page a:hover{color:var(--accent-primary-hover);text-decoration:underline}.legal-page strong{color:var(--text-primary);font-weight:600}.data-table{background:#fff;border:1px solid var(--border-primary);border-collapse:collapse;border-radius:12px;margin:24px 0;overflow:hidden;width:100%}.data-table th{background:var(--bg-primary);border-bottom:1px solid var(--border-primary);color:var(--text-primary);font-weight:600;padding:16px;text-align:left}.data-table td{border-bottom:1px solid var(--bg-secondary);color:var(--text-secondary);padding:16px}.data-table tr:last-child td{border-bottom:none}.contact-section{background:var(--bg-primary);border:1px solid var(--border-primary);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:var(--bg-primary);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:var(--text-primary);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:var(--accent-primary);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:var(--text-secondary);font-size:14px;line-height:1.6;margin:0;padding-top:2px}.instruction-step p strong{color:var(--text-primary);font-weight:500}.ios-download-card .strava-button{background-color:var(--color-strava);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:var(--color-strava-hover)}.strava-tip{align-items:center;background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:8px;display:flex;margin-top:20px;padding:15px}.tip-icon{font-size:20px;margin-right:12px}.strava-tip p,.tip-icon{color:var(--text-secondary)}.strava-tip p{font-size:14px;line-height:1.5;margin:0}.ios-back-button{background:#0000;border:none;border-radius:8px;color:var(--accent-primary);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:var(--bg-secondary);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:var(--bg-primary);border-radius:12px;margin-top:30px;padding:20px;text-align:center}.watermark-credit-applied{align-items:center;color:var(--color-success-dark);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:var(--text-secondary);font-size:16px;margin:0}.watermark-check-button{align-items:center;background:var(--accent-primary);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:var(--accent-primary-hover);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:var(--text-tertiary);font-size:14px;margin:0}.watermark-check-in-progress{align-items:center;color:var(--text-secondary);display:flex;font-size:16px;gap:12px;justify-content:center}.watermark-check-error{align-items:center;color:var(--color-error);display:flex;flex-direction:column;font-size:16px;gap:8px;text-align:center}.watermark-check-button.retry{background:var(--color-error);font-size:14px;padding:8px 16px}.watermark-check-button.retry:hover:not(:disabled){background:var(--color-error-dark)}.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 var(--border-primary);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:var(--color-success-dark)}.dialog-content.error .dialog-icon{color:var(--color-error)}.dialog-content.info .dialog-icon{color:var(--accent-primary)}.dialog-title{color:var(--text-primary);font-size:18px;font-weight:600;line-height:1.5;margin:0}.dialog-body{padding:0 24px 20px}.dialog-message{color:var(--text-tertiary);font-size:14px;line-height:1.5;margin:0}.dialog-actions{border-top:1px solid var(--bg-secondary);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:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.dialog-button.primary:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}.dialog-content.success{border-top:4px solid var(--color-success-dark)}.dialog-content.success .dialog-title{color:var(--color-success-dark)}.dialog-content.error{border-top:4px solid var(--color-error)}.dialog-content.error .dialog-header{background:var(--color-error-bg)}.dialog-content.info{border-top:4px solid var(--accent-primary)}.dialog-content.info .dialog-title{color:var(--accent-primary)}.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)}}.challenge-page{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;padding-bottom:80px;padding-top:60px}.challenge-container{margin:0 auto;max-width:100%;padding:0}.challenge-inner{margin:0 auto;max-width:900px;padding:0 24px}.challenge-header-section{background:linear-gradient(180deg,var(--bg-secondary) 0,var(--bg-primary) 100%);padding:0 24px}.challenge-header{margin:0 auto;max-width:900px;padding-bottom:40px;padding-top:32px;text-align:center}.challenge-page .back-button{align-items:center;background:none;border:none;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:24px;padding:8px 0;transition:color .2s}.challenge-page .back-button:hover{color:var(--text-secondary)}.challenge-header h1{align-items:center;color:var(--text-primary);display:flex;font-size:40px;font-weight:700;justify-content:center;letter-spacing:-.02em;margin:0 0 12px}.challenge-subtitle{color:var(--text-tertiary);font-size:18px;font-weight:400;line-height:1.6;margin:0 auto;max-width:600px}.challenge-divider{display:none}.challenge-section{margin-bottom:0}.section-dark{background:var(--bg-secondary);padding:64px 24px}.section-darker{background:var(--bg-tertiary);padding:64px 24px}.section-default{background:var(--bg-primary);padding:64px 24px}.section-gradient{background:linear-gradient(180deg,var(--bg-primary) 0,var(--bg-secondary) 50%,var(--bg-primary) 100%);padding:64px 24px}.section-inner{margin:0 auto;max-width:900px}.challenge-section h2{color:var(--text-primary);font-size:32px;font-weight:700;letter-spacing:-.02em;margin:0 0 12px}.challenge-section .section-description{color:var(--text-tertiary);font-size:16px;line-height:1.6;margin:0 0 32px}.section-header-centered{margin-bottom:48px;text-align:center}.section-header-centered h2{margin-bottom:12px}.section-header-centered .section-description{margin-bottom:0;margin-left:auto;margin-right:auto;max-width:560px}.challenge-card{background:#fff;border:1px solid var(--border-primary);border-radius:16px;box-shadow:0 4px 24px #2c2c2c0f;color:inherit;display:block;overflow:hidden;text-decoration:none;transition:all .3s ease}.challenge-card:hover{border-color:var(--accent-rose-light);box-shadow:0 8px 40px #2c2c2c1a;transform:translateY(-3px)}.challenge-card.featured{border-color:var(--accent-rose-light);border-width:2px}.challenge-card-map{background:var(--bg-tertiary);height:280px;overflow:hidden;position:relative;width:100%}.challenge-card-map-img{display:block;height:100%;object-fit:cover;object-position:center 40%;width:100%}video.challenge-card-map-img,video.showcase-visual-img{background:#0000;height:100%;object-fit:cover;width:100%}.challenge-card-content{padding:28px 32px}.challenge-card-badges{display:flex;gap:8px;margin-bottom:16px}.challenge-card-badge{align-items:center;background:linear-gradient(135deg,var(--bg-sakura),var(--bg-sakura-light));border:1px solid var(--border-rose);border-radius:20px;color:var(--accent-rose);display:inline-flex;font-size:11px;font-weight:700;gap:4px;letter-spacing:1px;padding:5px 12px;text-transform:uppercase}.challenge-card-badge-completed{background:linear-gradient(135deg,#c4956a33,#c4956a1a);border-color:var(--accent-gold);color:var(--accent-gold)}.challenge-card-content h3{color:var(--text-primary);font-size:24px;font-weight:700;letter-spacing:-.01em;margin:0 0 8px}.challenge-card-location{align-items:center;color:var(--text-muted);display:flex;font-size:14px;gap:6px;margin:0 0 16px}.challenge-card-stats{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:16px}.challenge-stat{align-items:center;color:var(--text-secondary);display:flex;font-size:14px;font-weight:600;gap:6px}.challenge-stat svg{color:var(--accent-gold);flex-shrink:0}.challenge-card-description{color:var(--text-tertiary);font-size:15px;line-height:1.6;margin:0 0 20px}.challenge-card-footer{display:flex;justify-content:flex-end}.challenge-card-cta{align-items:center;color:var(--accent-gold);display:flex;font-size:14px;font-weight:600;gap:4px;transition:all .2s ease}.challenge-card:hover .challenge-card-cta{color:var(--accent-gold-dark);gap:8px}.challenge-cta-banner{padding:40px 24px;text-align:center}.challenge-cta-button{align-items:center;background:var(--accent-gold);border-radius:12px;color:#fff;display:inline-flex;font-size:16px;font-weight:600;gap:8px;padding:14px 32px;text-decoration:none;transition:all .2s ease}.challenge-cta-button:hover{background:var(--accent-gold-dark);transform:scale(1.02)}.showcase-feature{align-items:center;background:#fff;border:1px solid var(--border-primary);border-radius:16px;box-shadow:0 2px 12px #2c2c2c0a;display:flex;gap:0;margin-bottom:48px;overflow:hidden;padding:0}.showcase-feature.reverse{flex-direction:row-reverse}.showcase-feature:last-child{margin-bottom:0}.showcase-visual{flex:0 0 400px;height:280px;overflow:hidden;position:relative}.showcase-visual-dark{background:var(--bg-tertiary)}.showcase-visual-img{display:block;height:100%;object-fit:cover;object-position:center 40%;width:100%}.showcase-visual-video{background:linear-gradient(135deg,#3a4a5c,#4a5a6e 50%,#2e3d50);flex-direction:column}.showcase-play-overlay,.showcase-visual-video{align-items:center;display:flex;justify-content:center}.showcase-play-overlay{flex:1 1}.showcase-play-button{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border:2px solid #ffffff40;border-radius:50%;color:#ffffffe6;display:flex;height:72px;justify-content:center;transition:all .3s ease;width:72px}.showcase-feature:hover .showcase-play-button{background:#fff3;transform:scale(1.05)}.showcase-video-label{color:#ffffff80;font-size:12px;letter-spacing:.5px;padding-bottom:16px}.showcase-visual-stories{background:linear-gradient(135deg,#e8f0e4,#d4e4cc)}.showcase-stories-fallback{display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center;padding:28px}.showcase-checkpoint-card{align-items:center;background:#ffffffd9;border:1px solid #7a8c6e26;border-radius:12px;box-shadow:0 2px 8px #2c2c2c0f;display:flex;gap:14px;padding:14px 16px}.showcase-checkpoint-card.faded{opacity:.45}.showcase-checkpoint-number{align-items:center;background:#7a8c6e;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:15px;font-weight:700;height:36px;justify-content:center;width:36px}.showcase-checkpoint-card.faded .showcase-checkpoint-number{background:#b8b8b0}.showcase-checkpoint-info{display:flex;flex-direction:column;gap:2px}.showcase-checkpoint-name{color:var(--text-primary);font-size:14px;font-weight:600}.showcase-checkpoint-subtitle{color:var(--text-muted);font-size:12px}.showcase-visual-activity{background:var(--bg-tertiary)}.showcase-activity-card{align-items:center;background:#ffffffd9;border:1px solid #8b9dc326;border-radius:12px;box-shadow:0 2px 8px #2c2c2c0f;display:flex;gap:14px;padding:12px 14px}.showcase-activity-img-placeholder{background:linear-gradient(135deg,#c5d4b8,#94a882);border-radius:8px;flex-shrink:0;height:48px;width:48px}.showcase-activity-img-placeholder.alt{background:linear-gradient(135deg,#a3b4d4 0,var(--accent-primary) 100%)}.showcase-activity-info{display:flex;flex-direction:column;gap:2px}.showcase-activity-title{color:var(--text-primary);font-size:14px;font-weight:600}.showcase-activity-subtitle{color:var(--text-muted);font-size:12px}.showcase-text{flex:1 1;min-width:0;padding:36px 40px}.showcase-label{align-items:center;color:var(--accent-gold);display:flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:1px;margin-bottom:10px;text-transform:uppercase}.showcase-text h3{color:var(--text-primary);font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.3;margin:0 0 10px}.showcase-text p{color:var(--text-tertiary);font-size:15px;line-height:1.6;margin:0}.hiw-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.hiw-card{background:#fff;border:1px solid var(--border-primary);border-radius:16px;box-shadow:0 2px 12px #2c2c2c0a;overflow:hidden;transition:all .3s ease}.hiw-card:hover{border-color:var(--border-secondary);box-shadow:0 4px 20px #2c2c2c14;transform:translateY(-2px)}.hiw-visual{align-items:center;display:flex;height:160px;justify-content:center;overflow:hidden;position:relative}.hiw-content{padding:20px 24px}.hiw-badge{align-items:center;background:linear-gradient(135deg,var(--bg-sakura),var(--bg-sakura-light));border:1px solid var(--border-rose);border-radius:50%;color:var(--accent-rose);display:flex;font-size:13px;font-weight:700;height:28px;justify-content:center;margin-bottom:10px;width:28px}.hiw-content h3{color:var(--text-primary);font-size:16px;font-weight:600;margin:0 0 6px}.hiw-content p{color:var(--text-tertiary);font-size:14px;line-height:1.5;margin:0}.hiw-visual-connect{background:linear-gradient(135deg,#fdf5ee,#f8e8d6)}.hiw-strava-btn{height:48px;width:auto}.hiw-visual-progress{background:linear-gradient(135deg,#fdf8ee,#f5ecd6);padding:0 40px}.hiw-progress-mock{max-width:400px;width:100%}.hiw-progress-track{background:var(--border-primary);border-radius:3px;height:6px;margin-bottom:10px;position:relative}.hiw-progress-fill{background:linear-gradient(90deg,var(--accent-gold),var(--accent-gold-dark));border-radius:3px;height:100%;left:0;position:absolute;top:0;width:40%}.hiw-progress-dot{align-items:center;background:var(--accent-gold);border:3px solid #fdf8ee;border-radius:50%;box-shadow:0 2px 8px #c4956a4d;color:#fff;display:flex;height:28px;justify-content:center;left:40%;position:absolute;top:50%;transform:translate(-50%,-50%);width:28px}.hiw-progress-labels{color:var(--text-muted);display:flex;font-size:12px;justify-content:space-between}.hiw-progress-you{color:var(--accent-gold-dark);font-weight:600}.hiw-visual-rewards{background:linear-gradient(135deg,#e8f0e4,#d4e4cc)}.hiw-visual-img{height:100%;object-fit:cover;object-position:center;width:100%}.hiw-reward-mock{align-items:center;background:#ffffffd9;border:1px solid #7a8c6e26;border-radius:12px;box-shadow:0 4px 12px #2c2c2c0f;display:flex;gap:16px;padding:16px 24px}.hiw-reward-icon{align-items:center;background:#8b9dc333;border-radius:50%;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.hiw-reward-text{display:flex;flex-direction:column;gap:2px}.hiw-reward-title{color:var(--text-primary);font-size:15px;font-weight:600}.hiw-reward-subtitle{color:var(--text-muted);font-size:13px}.hiw-visual-maps{background:var(--bg-tertiary)}.hiw-map-img{height:100%;object-fit:cover;object-position:center 40%;width:100%}.hiw-map-overlay{background:linear-gradient(#0000,#2c2c2c80);bottom:0;color:#ffffffe6;font-size:13px;font-weight:600;left:0;padding:12px 16px;position:absolute;right:0;text-align:center}.community-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:20px}.community-card{align-items:center;background:#fff;border:1px solid var(--border-primary);border-radius:16px;box-shadow:0 2px 12px #2c2c2c0a;color:inherit;display:flex;gap:16px;padding:20px 24px;text-decoration:none;transition:all .3s ease}.community-card:hover{border-color:var(--border-secondary);box-shadow:0 4px 20px #2c2c2c14;transform:translateY(-2px)}.community-card-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.discord-icon{background:#eef0fb;color:#5865f2}.strava-icon{background:#fdf0ee;color:var(--color-strava)}.community-card-text{flex:1 1;min-width:0}.community-card-text h3{color:var(--text-primary);font-size:15px;font-weight:600;margin:0 0 2px}.community-card-text p{color:var(--text-muted);font-size:13px;line-height:1.4;margin:0}.community-card-arrow{color:var(--border-secondary);flex-shrink:0;transition:color .2s}.community-card:hover .community-card-arrow{color:var(--text-muted)}.coming-soon-card{align-items:center;background:#fff;border:2px dashed var(--border-primary);border-radius:16px;display:flex;flex-direction:column;gap:12px;padding:40px 24px;text-align:center}.coming-soon-card p{color:var(--text-muted);font-size:15px;line-height:1.5;margin:0}.faq-list{display:flex;flex-direction:column;gap:0}.faq-item{border-bottom:1px solid var(--border-primary)}.faq-item:first-child{border-top:1px solid var(--border-primary)}.faq-question{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:20px 0;text-align:left;transition:color .2s;width:100%}.faq-question span{color:var(--text-primary);font-size:15px;font-weight:600;line-height:1.4}.faq-question svg{color:var(--border-secondary);flex-shrink:0;transition:color .2s}.faq-question:hover svg{color:var(--text-muted)}.faq-answer{padding:0 0 20px}.faq-answer p{color:var(--text-tertiary);font-size:14px;line-height:1.6;margin:0}@media (max-width:768px){.challenge-page{padding-top:0}.challenge-header-section{padding:0 16px}.challenge-header{padding-bottom:32px;padding-top:20px;text-align:left}.challenge-header h1{font-size:28px;justify-content:flex-start}.challenge-subtitle{font-size:16px}.section-dark,.section-darker,.section-default,.section-gradient{padding:48px 16px}.challenge-card-map{height:200px}.challenge-card-content{padding:20px}.challenge-card-content h3{font-size:20px}.challenge-card-stats{gap:12px}.challenge-stat{font-size:13px}.challenge-section h2{font-size:26px}.showcase-feature,.showcase-feature.reverse{flex-direction:column;gap:0}.showcase-visual{flex:none;height:220px;width:100%}.showcase-text{padding:24px}.showcase-text h3{font-size:18px}.hiw-cards{grid-template-columns:1fr}.hiw-visual{height:140px}.hiw-visual-progress{padding:0 24px}.hiw-content{padding:16px 20px}.community-cards{grid-template-columns:1fr}.community-card{gap:12px;padding:16px 18px}.community-card-icon{height:40px;width:40px}.section-header-centered{text-align:left}.section-header-centered .section-description{margin-left:0}}.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));transition:padding-top .3s ease}body.impersonating .main-content{padding-top:50px}.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:var(--bg-secondary);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:var(--border-primary)}.login-modal h2{color:var(--text-primary);font-size:1.5rem;margin:0 0 12px}.login-modal p{color:var(--text-tertiary);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.03a889a7.css.map*/