@charset "UTF-8";@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/BricolageGrotesque-Regular.woff2) format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/BricolageGrotesque-Medium.woff2) format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/BricolageGrotesque-SemiBold.woff2) format("woff2")}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/BricolageGrotesque-Bold.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Inter-Regular.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Inter-Medium.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Inter-SemiBold.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Inter-Bold.woff2) format("woff2")}:root{--color-moss: #1f3d2b;--color-mist: #f2f5ee;--color-trail-gold: #e3a857;--color-plum: #8b3a62;--color-sky: #3e7cb1;--color-ink: #1b1f1d;--color-status-friendly: #3e7cb1;--color-status-caution: #b9633e;--color-status-unknown: #b7bdb2;--color-surface: #ffffff;--color-surface-muted: color-mix(in srgb, var(--color-mist) 85%, var(--color-moss));--color-border: color-mix(in srgb, var(--color-moss) 14%, transparent);--color-overlay: color-mix(in srgb, var(--color-ink) 45%, transparent);--color-on-moss: var(--color-mist);--color-on-plum: #faf7f5;--color-on-sky: #f5f9fc;--font-display: "Bricolage Grotesque", system-ui, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--text-body: .9375rem;--text-body-lg: 1rem;--text-label: .8125rem;--text-sheet-title: 1.1875rem;--text-screen-title: 1.375rem;--leading-body: 1.5;--touch-min: 44px;--nav-height: 0px;--map-fab-size: 52px;--map-search-top: 3.6rem;--map-rail-top: 7.15rem;--map-dock-bottom: 1.25rem;--map-control-right: 7.5rem;--sheet-radius: 20px 20px 0 0;--control-radius: 12px;--chip-radius: 10px;--focus-ring: 0 0 0 3px color-mix(in srgb, var(--color-sky) 55%, transparent);--shadow-map-control: 0 2px 10px color-mix(in srgb, var(--color-moss) 18%, transparent);--shadow-sheet: 0 -8px 32px color-mix(in srgb, var(--color-ink) 14%, transparent);--shadow-float: 0 4px 18px color-mix(in srgb, var(--color-moss) 12%, transparent);--ease-out: cubic-bezier(.22, 1, .36, 1);--duration-fast: .15s;--duration-base: .28s;--duration-badge: .7s}:focus-visible{outline:none;box-shadow:var(--focus-ring)}button:focus-visible,a:focus-visible,[role=button]:focus-visible{box-shadow:var(--focus-ring)}.inwoof-marker{background:transparent!important;border:none!important;pointer-events:none}.inwoof-marker svg,.inwoof-marker img,.inwoof-marker__glyph,.inwoof-marker__wrap{pointer-events:none}.inwoof-marker__wrap{position:relative;width:100%;height:100%;display:grid;place-items:center}.inwoof-html-marker{min-width:0;min-height:0;display:grid;place-items:center;pointer-events:none!important;-webkit-tap-highlight-color:transparent;box-sizing:border-box}.inwoof-html-marker.is-selected{filter:drop-shadow(0 0 0 3px color-mix(in srgb,var(--color-sky) 70%,transparent));outline:2px solid color-mix(in srgb,var(--color-sky) 85%,transparent);outline-offset:2px;z-index:1}.inwoof-marker--spot{width:44px;height:44px;display:grid;place-items:center;filter:drop-shadow(0 2px 6px color-mix(in srgb,var(--color-ink) 28%,transparent))}.inwoof-marker--spot-dot{width:44px;height:44px;display:grid;place-items:center}.inwoof-marker__glyph{display:block;border:2.5px solid #fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-ink) 18%,transparent),0 2px 6px color-mix(in srgb,var(--color-ink) 32%,transparent)}.inwoof-marker__glyph--parc{width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--color-moss) 78%,var(--color-mist))}.inwoof-marker__glyph--parc-tree{width:18px;height:20px;border:none;box-shadow:none;position:relative;background:transparent}.inwoof-marker__glyph--parc-tree:before{content:"";position:absolute;left:50%;bottom:0;width:4px;height:7px;margin-left:-2px;background:#5c4030;border-radius:1px;box-shadow:0 0 0 1.5px #fff}.inwoof-marker__glyph--parc-tree:after{content:"";position:absolute;left:50%;top:0;width:16px;height:14px;margin-left:-8px;background:color-mix(in srgb,var(--color-moss) 70%,#cfe8b8);border-radius:50% 50% 45% 45%;border:2px solid #fff;box-shadow:0 2px 5px color-mix(in srgb,var(--color-ink) 28%,transparent)}.inwoof-marker__glyph--aire_canine{width:14px;height:14px;border-radius:3px;background:var(--color-trail-gold);transform:rotate(45deg)}.inwoof-marker__glyph--point_eau{width:13px;height:17px;background:var(--color-sky);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.inwoof-marker__glyph--commerce{width:16px;height:14px;background:var(--color-plum);clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);border:none;box-shadow:0 0 0 2px #fff,0 0 0 3px color-mix(in srgb,var(--color-ink) 16%,transparent),0 2px 6px color-mix(in srgb,var(--color-ink) 28%,transparent)}.inwoof-marker__glyph--veterinaire{width:14px;height:14px;background:#2a8a7a;border-radius:2px;position:relative}.inwoof-marker__glyph--veterinaire:before,.inwoof-marker__glyph--veterinaire:after{content:"";position:absolute;background:#fff;border-radius:1px;left:50%;top:50%;transform:translate(-50%,-50%)}.inwoof-marker__glyph--veterinaire:before{width:3px;height:9px}.inwoof-marker__glyph--veterinaire:after{width:9px;height:3px}.inwoof-marker__glyph--toilettage{width:18px;height:13px;border-radius:999px;background:#d46a5c}.inwoof-marker__dot{display:block;width:16px;height:16px;border-radius:50%;border:2.5px solid #fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--color-ink) 18%,transparent),0 2px 6px color-mix(in srgb,var(--color-ink) 32%,transparent)}.inwoof-marker__dot--parc{background:color-mix(in srgb,var(--color-moss) 72%,var(--color-mist))}.inwoof-marker__dot--aire_canine{background:var(--color-trail-gold)}.inwoof-marker__dot--point_eau{background:var(--color-sky)}.inwoof-marker__dot--veterinaire{background:#2a8a7a}.inwoof-marker__dot--commerce_dog_friendly{background:var(--color-plum)}.inwoof-marker__dot--toilettage{background:#d46a5c}.inwoof-marker__ring,.inwoof-marker__ring--live{width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--color-mist);border:2px solid var(--color-moss);display:grid;place-items:center}.inwoof-marker__ring--live{border-color:var(--color-sky);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-sky) 28%,transparent)}.inwoof-marker__avatar{width:100%;height:100%;object-fit:cover}.inwoof-marker__silhouette{width:100%;height:100%;display:grid;place-items:center;color:var(--color-moss);background:color-mix(in srgb,var(--color-trail-gold) 35%,var(--color-mist))}.inwoof-marker__silhouette svg{display:block}.inwoof-marker__status{position:absolute;right:0;bottom:0;width:12px;height:12px;border-radius:50%;border:2px solid var(--color-mist)}.inwoof-marker__status--unknown{background:var(--color-status-unknown)}.inwoof-marker__status--friendly{background:var(--color-status-friendly)}.inwoof-marker__status--caution{background:var(--color-status-caution)}.inwoof-marker__event-badge{width:34px;height:34px;border-radius:10px;background:var(--color-trail-gold);display:grid;place-items:center;box-shadow:0 2px 8px color-mix(in srgb,var(--color-ink) 18%,transparent)}.inwoof-marker__step,.inwoof-marker__step--done{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-size:var(--text-label);font-weight:700;color:var(--color-on-moss);background:var(--color-moss);border:2px dashed var(--color-trail-gold)}.inwoof-marker__step--done{background:var(--color-trail-gold);border-style:solid;border-color:var(--color-trail-gold);color:var(--color-moss)}.inwoof-marker__step--current{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-size:var(--text-label);font-weight:700;color:var(--color-moss);background:var(--color-trail-gold);border:2.5px solid var(--color-mist);position:relative;z-index:2}.inwoof-marker--step-next{position:relative;width:48px;height:48px;display:grid;place-items:center}.inwoof-marker__step-halo{position:absolute;inset:0;border-radius:50%;background:color-mix(in srgb,var(--color-trail-gold) 45%,transparent);animation:parcours-target-pulse var(--duration-badge, .7s) ease-out infinite;z-index:1}@keyframes parcours-target-pulse{0%,to{transform:scale(.85);opacity:.7}50%{transform:scale(1.15);opacity:.25}}.inwoof-marker__cluster{width:34px;height:34px;border-radius:50%;background:var(--color-moss);color:var(--color-on-moss);font-family:var(--font-display);font-size:var(--text-label);font-weight:700;display:grid;place-items:center;border:2.5px solid var(--color-trail-gold);box-shadow:0 2px 8px color-mix(in srgb,var(--color-ink) 22%,transparent)}.leaflet-tile-pane{filter:saturate(.72) hue-rotate(-12deg) brightness(1.03) contrast(.96)}.leaflet-control-attribution{font-size:10px;background:color-mix(in srgb,var(--color-mist) 88%,transparent)!important;color:var(--color-ink)}.inwoof-user-marker{position:relative;display:grid;place-items:center;width:44px;height:48px;pointer-events:none;filter:drop-shadow(0 2px 6px color-mix(in srgb,var(--color-ink) 35%,transparent))}.inwoof-user-marker__pulse{position:absolute;left:50%;bottom:2px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:color-mix(in srgb,var(--color-plum) 35%,transparent);animation:inwoof-user-pulse 1.8s ease-out infinite;z-index:0}.inwoof-user-marker__pin{position:relative;z-index:1;display:grid;place-items:center;line-height:0}@keyframes inwoof-user-pulse{0%{transform:scale(.7);opacity:.7}70%{transform:scale(1.55);opacity:0}to{transform:scale(1.55);opacity:0}}.inwoof-user-dot{width:16px;height:16px;border-radius:50%;background:var(--color-plum);border:2.5px solid var(--color-mist);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-plum) 28%,transparent)}.main--map{padding:0!important;margin:0!important;max-width:none!important}.layout-bottom-nav.map-app-shell__nav{position:fixed;left:0;right:0;bottom:0;z-index:900}.bottom-nav{display:none!important}.chat-page{background:var(--color-mist);color:var(--color-ink);font-family:var(--font-body);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 1rem)}.chat-page .page-header h1{font-family:var(--font-display);font-size:var(--text-screen-title);color:var(--color-moss);background:none;-webkit-text-fill-color:var(--color-moss)}.chat-page .btn-primary,.chat-page .view-toggle button.active{background:var(--color-plum)!important;color:var(--color-on-plum)!important;border-color:var(--color-plum)!important}.profile-page{background:var(--color-mist);color:var(--color-ink);font-family:var(--font-body);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 1rem)}.profile-page .profile-page-header h1,.profile-page h1{font-family:var(--font-display);font-size:var(--text-screen-title);color:var(--color-moss)}.profile-page .btn-primary{background:var(--color-plum)!important;border-color:var(--color-plum)!important;color:var(--color-on-plum)!important}.profile-page .profile-header{background:var(--color-surface)!important;border-color:var(--color-border)!important;box-shadow:none!important}.live-map-page{background:var(--color-mist);min-height:100%}.live-map-skeleton{position:absolute;inset:0;z-index:500;background:linear-gradient(110deg,var(--color-mist) 30%,color-mix(in srgb,var(--color-moss) 8%,var(--color-mist)) 45%,var(--color-mist) 60%);background-size:200% 100%;animation:mapSkeleton 1.4s ease-in-out infinite;pointer-events:none}@keyframes mapSkeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.gamification-page{background:var(--color-mist);color:var(--color-ink);font-family:var(--font-body);padding:1rem 1rem calc(env(safe-area-inset-bottom,0px) + 2rem)}.gamification-page h1{font-family:var(--font-display);font-size:var(--text-screen-title);color:var(--color-moss)}*{touch-action:manipulation}html{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}ul,ol{-webkit-padding-start:0;padding-inline-start:0}a{-webkit-tap-highlight-color:rgba(255,215,0,.2);touch-action:manipulation;min-height:44px;display:inline-flex;align-items:center}img{max-width:100%;height:auto;transform:translateZ(0);will-change:transform}.modal-overlay{padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}@media(max-width:768px){.modal-overlay{padding:1rem;padding-top:calc(1rem + env(safe-area-inset-top,0));padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}}@media(max-width:768px){.modal-content{max-width:calc(100vw - 2rem - env(safe-area-inset-left,0) - env(safe-area-inset-right,0));max-height:calc(100vh - 2rem - env(safe-area-inset-top,0) - env(safe-area-inset-bottom,0));margin:0;border-radius:16px}}@media(max-width:768px){[data-tooltip]:before,[data-tooltip]:after{display:none}}@media(max-width:768px){table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}}@media(max-width:768px){select{font-size:16px!important;padding:1rem;min-height:48px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:12px;padding-right:calc(2rem + 12px);-webkit-appearance:none;appearance:none}}@media(max-width:768px){input[type=checkbox],input[type=radio]{width:24px;height:24px;min-width:24px;min-height:24px;cursor:pointer;-webkit-tap-highlight-color:transparent}}@media(max-width:768px){form .form-actions{display:flex;flex-direction:column;gap:1rem}form .form-actions .btn{width:100%;min-height:56px}}@media(max-width:768px){.card{border-radius:16px;box-shadow:0 4px 12px #1b1f1d1a;margin-bottom:1rem}}@media(max-width:768px){.grid{grid-template-columns:1fr!important;gap:1rem}}@media(max-width:768px){.container{padding-left:1rem;padding-right:1rem}h1{font-size:1.375rem;line-height:1.2}h2{font-size:1.1875rem;line-height:1.3}h3{font-size:1.125rem;line-height:1.4}}@media(max-width:768px){.page-transition{animation:fadeIn .2s ease-out}}@keyframes fadeIn{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}@media(max-width:768px){.virtualized-list{transform:translateZ(0);will-change:scroll-position;-webkit-overflow-scrolling:touch}}@media(max-width:768px){.badge,.notification{min-height:32px;padding:.25rem .5rem;font-size:.8125rem;border-radius:12px}}@media(max-width:768px){.dropdown{position:fixed;bottom:0;left:0;right:0;max-height:50vh;border-radius:16px 16px 0 0;box-shadow:0 -4px 16px #00000026;animation:none!important;transition:transform .1s ease-out,opacity .1s ease-out}}@keyframes slideUp{0%{transform:translate3d(0,100%,0)}to{transform:translateZ(0)}}@media(max-width:768px){.tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs .tab{min-width:fit-content;white-space:nowrap}}@media(max-width:768px){.carousel{touch-action:pan-x;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}.carousel .carousel-item{scroll-snap-align:start}}@media(max-width:768px){.swipeable{touch-action:pan-y;user-select:none;-webkit-user-select:none}}@media(max-width:768px){.scroll-container{-webkit-overflow-scrolling:touch;transform:translateZ(0);will-change:scroll-position}}@media(max-width:768px){body{font-size:.9375rem;line-height:1.6}p{margin-bottom:1rem}section{margin-bottom:2rem}}@media(max-width:1024px){*,*:before,*:after{animation-duration:0s!important;animation-delay:0s!important;transition-duration:.1s!important;transition-delay:0s!important}.expensive-animation,.fadeIn,.fadeInUp,.slideUp,.slideDown{animation:none!important}button,a,.btn{transition:opacity .1s ease,transform .1s ease!important}*:hover{animation:none!important}}@media(hover:none)and (pointer:coarse){*,*:before,*:after{animation:none!important;transition-duration:.1s!important}*:hover{transform:none!important;box-shadow:none!important}}@media(max-width:768px){button,a,input[type=button],input[type=submit],.clickable{min-height:44px;min-width:44px;padding:.5rem 1rem}}@media(max-width:768px){.lazy-image{transform:translateZ(0);will-change:opacity}}@media(max-width:768px){.multi-step-form .step-indicator{font-size:.8125rem;padding:.25rem}.multi-step-form .step-content{padding:1rem}}@media(max-width:768px){.selection-list .selection-item{min-height:56px;padding:1rem;border-radius:12px;margin-bottom:.5rem}}@media(max-width:768px){.feedback-success,.feedback-error,.feedback-info{padding:1rem;border-radius:16px;font-size:.9375rem;min-height:48px;display:flex;align-items:center;gap:.5rem}}@media(display-mode:standalone){body{padding:0}.container,.main{padding-left:calc(1rem + env(safe-area-inset-left,0));padding-right:calc(1rem + env(safe-area-inset-right,0));padding-top:calc(1rem + env(safe-area-inset-top,0));padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.topbar{padding-top:calc(env(safe-area-inset-top,0) + .5rem);padding-left:calc(env(safe-area-inset-left,0) + 1rem);padding-right:calc(env(safe-area-inset-right,0) + 1rem)}.bottom-nav{padding-bottom:calc(env(safe-area-inset-bottom,0) + .5rem);padding-left:calc(env(safe-area-inset-left,0) + .5rem);padding-right:calc(env(safe-area-inset-right,0) + .5rem)}}@media(min-width:768px)and (max-width:1024px){.container{max-width:900px;padding:1.5rem}.btn{min-height:52px;padding:1rem 2rem;font-size:1.125rem}.card,.pet-card,.activity-card,.like-card{padding:2rem;margin-bottom:1.5rem}body{font-size:1.125rem;line-height:1.7}h1{font-size:1.75rem}h2{font-size:1.375rem}h3{font-size:1.1875rem}}@media(max-width:768px){.container{padding:1rem;padding-left:calc(1rem + env(safe-area-inset-left,0));padding-right:calc(1rem + env(safe-area-inset-right,0))}button,.btn,a.clickable{min-height:48px;min-width:48px;padding:1rem 1.5rem}.card,.pet-card,.activity-card,.like-card{padding:1rem;margin-bottom:1rem;border-radius:12px}body{font-size:.9375rem;line-height:1.6}h1{font-size:1.375rem;line-height:1.2;margin-bottom:1rem}h2{font-size:1.1875rem;line-height:1.3;margin-bottom:1rem}h3{font-size:1.125rem;line-height:1.4;margin-bottom:.5rem}.grid{grid-template-columns:1fr!important;gap:1rem}ul,ol{padding-left:1.5rem}img{max-width:100%;height:auto;border-radius:12px}}@media(hover:none)and (pointer:coarse){*,*:before,*:after{animation:none!important;transition-duration:.1s!important;transition-delay:0s!important}*:hover{transform:none!important;box-shadow:none!important;filter:none!important}button,.btn,a{transition:opacity .1s ease!important}}@media(max-width:1024px){.fadeIn,.fadeInUp,.slideUp,.slideDown{animation:none!important}*{transition-duration:.1s!important}*:hover{animation:none!important}}@media(max-width:1024px){*,*:before,*:after{transition-property:transform,opacity!important;transition-duration:.1s!important;transition-timing-function:ease-out!important}@keyframes fadeIn,@keyframes fadeInUp,@keyframes slideUp,@keyframes slideDown,@keyframes pulse,@keyframes spin,@keyframes ripple{from {opacity: 0; transform: translate3d(0,0,0);} to {opacity: 1; transform: translate3d(0,0,0);}}}@keyframes fadeInOptimized{0%{opacity:0;transform:translateZ(0)}to{opacity:1;transform:translateZ(0)}}@keyframes slideUpOptimized{0%{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translateZ(0)}}.animated,.transitioning{transform:translateZ(0);will-change:transform,opacity;backface-visibility:hidden;perspective:1000px}.scroll-container,.scrollable{-webkit-overflow-scrolling:touch;transform:translateZ(0);will-change:scroll-position}.layout-stable{contain:layout style paint}img,.lazy-image{transform:translateZ(0);will-change:opacity;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}button,.btn,a,.clickable{touch-action:manipulation;-webkit-tap-highlight-color:transparent;transform:translateZ(0);transition:transform .1s ease-out,opacity .1s ease-out}button:active,.btn:active,a:active,.clickable:active{transform:scale3d(.98,.98,1)}.card,.list-item{transform:translateZ(0);will-change:transform;transition:transform .1s ease-out}.modal-overlay,.modal-content{transform:translateZ(0);will-change:opacity,transform;transition:opacity .15s ease-out}.skeleton-shimmer{animation:shimmer 1.5s infinite;will-change:background-position}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animated{animation-fill-mode:both}.animated.animation-complete{will-change:auto}.page-transition{transform:translateZ(0);will-change:opacity,transform}.hidden,[hidden],.display-none{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}form,.form-group{contain:layout style}.grid,.flex{contain:layout}@media(max-width:768px){*,*:before,*:after{animation:none!important;transition-duration:.05s!important;transition-delay:0s!important}button,.btn,a{transition:opacity .05s ease-out,transform .05s ease-out!important}}@media(hover:none)and (pointer:coarse){*,*:before,*:after{animation:none!important;transition-duration:.05s!important}}@media(max-width:768px){h1{font-size:1.5rem!important;line-height:1.2!important}h2{font-size:1.25rem!important;line-height:1.3!important}h3{font-size:1.125rem!important;line-height:1.4!important}.container{padding-left:1rem!important;padding-right:1rem!important}}@media(max-width:768px){.card,.section,section{margin-bottom:1rem!important;padding:1rem!important}.btn{padding:.625rem 1rem!important;font-size:.875rem!important;min-height:44px!important}.btn-primary,.btn-secondary{font-size:.875rem!important}}@media(max-width:768px){.modal-content{max-width:calc(100vw - 2rem)!important;max-height:calc(50vh - 2rem)!important;padding:2rem!important;margin:1rem!important}}@media(max-width:768px){.card{border-radius:.75rem!important;padding:1rem!important}.card-title{font-size:1.125rem!important}}@media(max-width:768px){input,textarea,select{font-size:16px!important;padding:.75rem!important;min-height:44px!important}}@media(max-width:768px){ul,ol{padding-left:1.25rem!important}li{margin-bottom:.5rem!important}}@media(max-width:768px){table{font-size:.875rem!important}th,td{padding:.5rem!important}}@media(max-width:768px){.badge,.tag{font-size:.75rem!important;padding:.25rem .5rem!important}}@media(max-width:768px){.icon{font-size:1.25rem!important}.icon-large{font-size:1.5rem!important}}@media(max-width:768px){.section+.section,section+section{margin-top:1.5rem!important}}@media(max-width:768px){.grid{grid-template-columns:1fr!important;gap:1rem!important}.grid-2,.grid-3{grid-template-columns:1fr!important}}@media(max-width:768px){[data-tooltip]:before,[data-tooltip]:after{display:none!important}}@media(max-width:768px){.dropdown{font-size:.875rem!important}.dropdown-item{padding:.75rem 1rem!important;min-height:44px!important}}@media(max-width:768px){.tabs{font-size:.875rem!important}.tab{padding:.75rem 1rem!important;min-height:44px!important}}@media(max-width:768px){.form-group{margin-bottom:1rem!important}.form-label{font-size:.875rem!important;margin-bottom:.5rem!important}}@media(max-width:768px){.btn-group{flex-direction:column!important;width:100%!important}.btn-group .btn{width:100%!important;margin-bottom:.5rem!important}}@media(max-width:768px){.alert,.notification{padding:.75rem 1rem!important;font-size:.875rem!important;border-radius:.5rem!important}}@media(max-width:768px){.pagination{font-size:.875rem!important;gap:.25rem!important}.pagination .page-link{padding:.5rem .75rem!important;min-width:44px!important;min-height:44px!important}}@media(max-width:768px){img{max-width:100%!important}}@media(max-width:768px){video{max-width:100%!important;height:auto!important}}@media(max-width:768px){iframe{max-width:100%!important;height:auto!important}}button,.btn,.clickable{transition:transform .1s cubic-bezier(.4,0,.2,1),opacity .1s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1)}button:active:not(:disabled),.btn:active:not(:disabled),.clickable:active:not(:disabled){transform:scale(.97);transition-duration:.05s}button.processing,button.pending,button[aria-busy=true],.btn.processing,.btn.pending,.btn[aria-busy=true],.clickable.processing,.clickable.pending,.clickable[aria-busy=true]{position:relative;opacity:.8;cursor:wait}button.processing:before,button.pending:before,button[aria-busy=true]:before,.btn.processing:before,.btn.pending:before,.btn[aria-busy=true]:before,.clickable.processing:before,.clickable.pending:before,.clickable[aria-busy=true]:before{content:"";position:absolute;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite;margin-right:8px}@keyframes success-pulse{0%{transform:scale(1);box-shadow:0 0 #10b981b3}50%{transform:scale(1.05);box-shadow:0 0 0 8px #10b98100}to{transform:scale(1);box-shadow:0 0 #10b98100}}.btn-success,.success-feedback{animation:success-pulse .4s ease-out}@keyframes error-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.btn-error,.error-feedback{animation:error-shake .3s ease-out;border-color:#ef4444!important;background-color:#ef44441a!important}.optimistic-update{opacity:.7;position:relative}.optimistic-update:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#3b82f6,transparent);animation:progress-sweep 1s ease-in-out infinite}@keyframes progress-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.loading-state{position:relative;overflow:hidden}.loading-state:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.spinner-instant{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@media(min-width:768px)and (hover:hover){button:hover:not(:disabled):not(.processing),.btn:hover:not(:disabled):not(.processing),.clickable:hover:not(:disabled):not(.processing){transform:translateY(-2px);transition:transform .1s cubic-bezier(.4,0,.2,1)}}button:disabled,.btn:disabled,.clickable:disabled{opacity:.5;cursor:not-allowed;transform:none!important}button:disabled:before,button:disabled:after,.btn:disabled:before,.btn:disabled:after,.clickable:disabled:before,.clickable:disabled:after{display:none}@keyframes like-heart{0%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1.1)}to{transform:scale(1)}}.btn-like.liked,.btn-like.success{animation:like-heart .4s ease-out}.btn-like.liked .like-icon,.btn-like.success .like-icon{color:#ef4444}.btn-like.pending{opacity:.7;cursor:wait}.walk-action{transition:all .1s cubic-bezier(.4,0,.2,1)}.walk-action.starting{animation:pulse-walk-start .5s ease-out}.walk-action.ending{animation:pulse-walk-end .5s ease-out}@keyframes pulse-walk-start{0%{transform:scale(1);box-shadow:0 0 #10b981b3}50%{transform:scale(1.05);box-shadow:0 0 0 12px #10b98100}to{transform:scale(1);box-shadow:0 0 #10b98100}}@keyframes pulse-walk-end{0%{transform:scale(1);box-shadow:0 0 #ef4444b3}50%{transform:scale(1.05);box-shadow:0 0 0 12px #ef444400}to{transform:scale(1);box-shadow:0 0 #ef444400}}.message-sent{animation:message-slide-in .2s ease-out}@keyframes message-slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes match-celebration{0%{transform:scale(1) rotate(0)}25%{transform:scale(1.2) rotate(-5deg)}50%{transform:scale(1.3) rotate(5deg)}75%{transform:scale(1.1) rotate(-3deg)}to{transform:scale(1) rotate(0)}}.match-notification{animation:match-celebration .6s ease-out}@media(max-width:767px){button,.btn,.clickable{transition:transform .08s ease-out,opacity .08s ease-out}button:active:not(:disabled),.btn:active:not(:disabled),.clickable:active:not(:disabled){transform:scale(.95);transition-duration:.03s}}button:not(.map-detail-sheet__handle):not(.map-detail-sheet__backdrop):not(.maplibregl-ctrl-group button),.btn,a,input[type=button],input[type=submit],.clickable,[role=button]:not(.inwoof-html-marker){min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}@media(min-width:768px){button:not(.map-detail-sheet__handle):not(.map-detail-sheet__backdrop):not(.maplibregl-ctrl-group button),.btn,a,input[type=button],input[type=submit],.clickable,[role=button]:not(.inwoof-html-marker){min-height:auto;min-width:auto}}input::placeholder,textarea::placeholder,select::placeholder{color:#7a837c;opacity:.7;font-style:italic}input:required:after,textarea:required:after,select:required:after{content:" *";color:#8b3a62}label{display:block;font-weight:500;color:#1b1f1d;margin-bottom:.25rem;font-size:.8125rem}label.required:after{content:" *";color:#8b3a62;margin-left:2px}.form-hint{font-size:.75rem;color:#4a524c;margin-top:.25rem;display:block;line-height:1.4}.form-hint.error{color:#8b3a62}.form-hint.success{color:#3e7cb1}button,.btn{position:relative;transition:transform .1s ease-out,opacity .1s ease-out,background-color .2s ease-out,box-shadow .2s ease-out}button:active:not(:disabled),.btn:active:not(:disabled){transform:scale(.97)}button.pending,button[aria-busy=true],.btn.pending,.btn[aria-busy=true]{opacity:.7;cursor:wait;pointer-events:none}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}@media(min-width:768px)and (hover:hover){button:not(:disabled):not(.processing):hover,.btn:not(:disabled):not(.processing):hover{transform:translateY(-2px);box-shadow:0 4px 12px #1b1f1d1a}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fade-in .2s ease-out}.animate-slide-up{animation:slide-up .2s ease-out}.animate-slide-down{animation:slide-down .2s ease-out}.animate-scale-in{animation:scale-in .2s ease-out}.like-action{transition:transform .1s ease-out}.like-action.liked{animation:like-pulse .4s ease-out}.like-action.liked .like-icon{color:#8b3a62;transform:scale(1.2)}@keyframes like-pulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.pass-action{transition:transform .2s ease-out,opacity .2s ease-out}.pass-action.passed{opacity:.5;transform:translate(-100%)}.activity-participation{transition:all .2s ease-out}.activity-participation.participating{background:linear-gradient(135deg,#3e7cb11a,#1f3d2b14);border-color:#3e7cb1;animation:participation-confirm .4s ease-out}@keyframes participation-confirm{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}.active-pet-change{animation:pet-change-badge .5s ease-out}@keyframes pet-change-badge{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}to{transform:scale(1);opacity:1}}*{box-sizing:border-box}img{max-width:100%;height:auto;display:block}.scrollable-list{overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(122,131,124,.5) transparent}.scrollable-list::-webkit-scrollbar{width:6px}.scrollable-list::-webkit-scrollbar-track{background:transparent}.scrollable-list::-webkit-scrollbar-thumb{background:#7a837c80;border-radius:3px}.scrollable-list::-webkit-scrollbar-thumb:hover{background:#7a837cb3}.page-container{padding:1rem}@media(max-width:768px){.page-container{padding:.5rem}}.component-wrapper{will-change:transform,opacity;backface-visibility:hidden;-webkit-font-smoothing:antialiased}.state-transition{transition:opacity .2s ease-out,transform .2s ease-out}.loading-placeholder{min-height:200px;display:flex;align-items:center;justify-content:center;opacity:.6}.feedback-message{padding:.5rem 1rem;border-radius:12px;font-size:.8125rem;line-height:1.5;margin-bottom:.5rem;animation:slide-up .2s ease-out}.feedback-message.success{background:linear-gradient(135deg,#3e7cb11a,#1f3d2b14);border:1px solid rgba(62,124,177,.2);color:#1b1f1d}.feedback-message.error{background:#8b3a621a;border:1px solid rgba(139,58,98,.2);color:#8b3a62}.feedback-message.info{background:#3e7cb11a;border:1px solid rgba(62,124,177,.2);color:#3e7cb1}.feedback-message.warning{background:#b9633e1a;border:1px solid rgba(185,99,62,.2);color:#b9633e}button,.btn{cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}button:not([class*=btn-]),.btn:not([class*=btn-]){background:#1f3d2b;color:#fff;border:none;border-radius:12px;padding:.5rem 1rem;font-weight:500;font-size:.9375rem}button:not([class*=btn-]):hover:not(:disabled),.btn:not([class*=btn-]):hover:not(:disabled){background:#162a1e}.card{background:#fff;border:1px solid rgba(31,61,43,.14);border-radius:12px;box-shadow:0 1px 2px #1b1f1d0f;padding:1rem;transition:box-shadow .2s ease-out,transform .2s ease-out}.card:hover{box-shadow:0 4px 12px #1b1f1d1a}input,textarea,select{border:1px solid rgba(31,61,43,.14);border-radius:6px;padding:.5rem 1rem;font-size:.9375rem;transition:border-color .2s ease-out,box-shadow .2s ease-out}input:focus,textarea:focus,select:focus{outline:none;border-color:#1f3d2b;box-shadow:0 0 0 3px #1f3d2b1a}input:invalid,textarea:invalid,select:invalid{border-color:#8b3a62}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.1s!important}}@media(max-width:768px){button,.btn,.clickable{transition:transform .08s ease-out,opacity .08s ease-out}button:active:not(:disabled),.btn:active:not(:disabled),.clickable:active:not(:disabled){transform:scale(.95);transition-duration:.03s}}.component-wrapper,.page-wrapper{will-change:transform,opacity;backface-visibility:hidden;-webkit-font-smoothing:antialiased;transform:translateZ(0)}.loading-state{min-height:200px;display:flex;align-items:center;justify-content:center}.loading-state:before{content:"";position:absolute;inset:0;background:inherit;opacity:.8;z-index:-1}.state-transition{transition:opacity .2s ease-out,transform .2s ease-out;will-change:transform,opacity;backface-visibility:hidden}.data-transition{transition:opacity .3s ease-out}.data-transition.updating{opacity:.7;pointer-events:none}@keyframes fade-in-smooth{0%{opacity:0}to{opacity:1}}.page-load{animation:fade-in-smooth .3s ease-out}.page-transition-wrapper{position:relative}.page-transition-wrapper .page-content{position:absolute;top:0;left:0;right:0;opacity:0;transition:opacity .3s ease-out}.page-transition-wrapper .page-content.active{position:relative;opacity:1}.active-pet-transition{transition:opacity .2s ease-out,transform .2s ease-out}.active-pet-transition.changing{opacity:.5;transform:scale(.95)}.active-pet-transition.new{animation:pet-badge-appear .3s ease-out}@keyframes pet-badge-appear{0%{opacity:0;transform:scale(.9) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}img,.lazy-image{min-height:100px;background:#f2f5ee;opacity:0;transition:opacity .3s ease-out}img.loaded,.lazy-image.loaded{opacity:1}img:before,.lazy-image:before{content:"";display:block;position:absolute;inset:0;background:#f2f5ee;opacity:1;transition:opacity .3s ease-out;z-index:1}img.loaded:before,.lazy-image.loaded:before{opacity:0;pointer-events:none}.list-transition{min-height:200px}.list-transition .list-item{opacity:0;transform:translateY(8px);animation:list-item-appear .2s ease-out forwards}@keyframes list-item-appear{to{opacity:1;transform:translateY(0)}}.modal-overlay{opacity:0;transition:opacity .2s ease-out}.modal-overlay.active{opacity:1}.modal-content{opacity:0;transform:scale(.95) translateY(-8px);transition:opacity .3s ease-out,transform .3s ease-out}.modal-content.active{opacity:1;transform:scale(1) translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.1s!important}.page-load,.page-transition-wrapper,.active-pet-transition,.list-transition,.modal-overlay,.modal-content{animation:none!important;transition:opacity .1s ease-out!important}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body, "Inter", system-ui, sans-serif);font-size:var(--text-body, .9375rem);line-height:var(--leading-body, 1.5);color:var(--color-ink, #1b1f1d);background:var(--color-mist, #f2f5ee);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInBody{0%{opacity:0;background-position:0% 50%}to{opacity:1;background-position:100% 50%}}h1,h2,h3,h4,h5,h6,.btn-primary,.btn-secondary,.card-title{font-family:var(--font-display, "Bricolage Grotesque", system-ui, sans-serif);font-weight:600}#root{min-height:100vh;min-height:100dvh}a{color:#1f3d2b;text-decoration:none;transition:color .2s .15s cubic-bezier(.22,1,.36,1),text-decoration .2s .15s cubic-bezier(.22,1,.36,1);cursor:pointer}a:hover{color:#162a1e;text-decoration:underline}a:focus-visible{outline:2px solid rgba(31,61,43,.5);outline-offset:2px;border-radius:2px}button{font-family:inherit;cursor:pointer;border:none;outline:none;transition:all .2s .15s cubic-bezier(.22,1,.36,1)}button:focus-visible{outline:3px solid rgba(31,61,43,.5);outline-offset:2px;border-radius:12px}button:disabled{cursor:not-allowed;opacity:.6}.back-link,button.back-link,.btn.back-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,#1f3d2b1a,#3e7cb11a);border:1px solid rgba(31,61,43,.2);border-radius:16px;color:#1f3d2b;text-decoration:none;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .1s ease;box-shadow:0 2px 4px #0000000d;position:relative;overflow:hidden}@media(max-width:768px){.back-link,button.back-link,.btn.back-link{padding:.25rem .5rem;font-size:.8125rem;gap:.25rem}}@media(min-width:1024px){.back-link:hover,button.back-link:hover,.btn.back-link:hover{background:linear-gradient(135deg,#1f3d2b26,#3e7cb126);border-color:#1f3d2b;transform:translate(-4px) translateY(-1px);box-shadow:0 4px 8px #1f3d2b33;color:#162a1e}.back-link:active,button.back-link:active,.btn.back-link:active{transform:translate(-2px) translateY(0);box-shadow:0 2px 4px #1f3d2b26}}.back-link:before,button.back-link:before,.btn.back-link:before{content:"←";font-size:1.2em;font-weight:700;display:inline-block;transition:transform .1s ease}@media(min-width:1024px){.back-link:hover:before,button.back-link:hover:before,.btn.back-link:hover:before{transform:translate(-2px)}}@media(max-width:1024px){.back-link,button.back-link,.btn.back-link{transition:opacity .05s ease!important}.back-link:hover,button.back-link:hover,.btn.back-link:hover{transform:none}}input,textarea,select{font-family:inherit;outline:none;font-size:16px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:border-color .2s .15s cubic-bezier(.22,1,.36,1),box-shadow .2s .15s cubic-bezier(.22,1,.36,1),background-color .2s .15s cubic-bezier(.22,1,.36,1)}input:-webkit-autofill,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-box-shadow:0 0 0 30px white inset!important;-webkit-text-fill-color:#1b1f1d!important}input:focus,input:focus-visible,textarea:focus,textarea:focus-visible,select:focus,select:focus-visible{outline:none;border-color:#1f3d2b;box-shadow:0 0 0 3px #1f3d2b1a,0 1px 2px #1b1f1d0f;background-color:#fffffffa}input:focus,textarea:focus,select:focus{-webkit-tap-highlight-color:rgba(255,215,0,.2)}@media screen and (max-width:768px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],input[type=url],textarea,select{font-size:16px!important}}.container{max-width:1200px;margin:0 auto;padding:0 1rem;padding-left:calc(1rem + env(safe-area-inset-left,0));padding-right:calc(1rem + env(safe-area-inset-right,0))}@media(min-width:768px)and (max-width:1024px){.container{max-width:900px;padding:0 1.5rem;padding-left:calc(1.5rem + env(safe-area-inset-left,0));padding-right:calc(1.5rem + env(safe-area-inset-right,0))}}@media(min-width:768px){.container{padding:0 1.5rem;padding-left:calc(1.5rem + env(safe-area-inset-left,0));padding-right:calc(1.5rem + env(safe-area-inset-right,0))}}@media(display-mode:standalone){.container{padding-left:calc(1rem + env(safe-area-inset-left,0) + 4px);padding-right:calc(1rem + env(safe-area-inset-right,0) + 4px)}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1.5rem;font-size:.9375rem;font-weight:500;border-radius:12px;transition:transform .2s .15s cubic-bezier(.22,1,.36,1),opacity .2s .15s cubic-bezier(.22,1,.36,1),background-color .2s .15s cubic-bezier(.22,1,.36,1),box-shadow .2s .15s cubic-bezier(.22,1,.36,1),border-color .2s .15s cubic-bezier(.22,1,.36,1)}@media(max-width:1024px){.btn{transition:opacity .1s ease!important}}.btn{cursor:pointer;border:none;min-height:48px;min-width:48px;position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none;transform:translateZ(0);will-change:transform}.btn:focus-visible{outline:3px solid rgba(31,61,43,.5);outline-offset:2px;box-shadow:0 0 0 1px #1f3d2b33,0 4px 12px #1b1f1d1a}@media(min-width:768px)and (max-width:1024px){.btn{padding:1rem 2rem;font-size:1.125rem;min-height:48px}}@media(max-width:768px){.btn{min-height:48px;padding:1rem 1.5rem;font-size:.9375rem;margin-bottom:.5rem}}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease}.btn:active:not(:disabled):before{width:300px;height:300px}.btn-primary{background:linear-gradient(135deg,#1f3d2b,#3e7cb1);color:#fff;border-radius:16px;font-weight:700;transition:all .3s .4s cubic-bezier(.25,.46,.45,.94);box-shadow:0 8px 24px #1f3d2b33;position:relative;overflow:hidden}.btn-primary:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transition:opacity .3s .28s cubic-bezier(.22,1,.36,1);pointer-events:none}@media(min-width:1024px)and (hover:hover){.btn-primary:hover:not(:disabled){transform:translateY(-4px) scale(1.02);box-shadow:0 12px 32px #1f3d2b47;background:linear-gradient(135deg,#162a1e,#8b3a62)}.btn-primary:hover:not(:disabled):after{opacity:1}}.btn-primary:focus-visible{outline:3px solid rgba(255,255,255,.8);outline-offset:3px;box-shadow:0 12px 32px #1f3d2b47,0 0 0 4px #1f3d2b4d}.btn-primary:active:not(:disabled){transform:translateY(-2px) scale(.98);box-shadow:0 4px 12px #1f3d2b2e}.btn-secondary{background-color:#e3a857;color:#fff;transition:background-color .2s .15s cubic-bezier(.22,1,.36,1),transform .2s .15s cubic-bezier(.22,1,.36,1),box-shadow .2s .15s cubic-bezier(.22,1,.36,1)}.btn-secondary:hover:not(:disabled){background-color:#c48e3f;transform:translateY(-2px);box-shadow:0 4px 12px #1b1f1d1a}.btn-secondary:focus-visible{outline:3px solid rgba(227,168,87,.5);outline-offset:2px;box-shadow:0 4px 12px #1b1f1d1a,0 0 0 2px #e3a85733}.btn-outline{background-color:transparent;border:2px solid #e3a857;color:#e3a857;border-radius:12px;font-weight:500;transition:all .2s .15s cubic-bezier(.22,1,.36,1)}.btn-outline:hover:not(:disabled){background-color:#e3a857;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #1b1f1d1a}.btn-outline:focus-visible{outline:3px solid rgba(227,168,87,.5);outline-offset:2px;box-shadow:0 4px 12px #1b1f1d1a,0 0 0 2px #e3a85733}.btn-ghost{background-color:transparent;color:#1b1f1d;transition:background-color .2s .15s cubic-bezier(.22,1,.36,1),color .2s .15s cubic-bezier(.22,1,.36,1)}.btn-ghost:hover:not(:disabled){background-color:#f2f5ee;color:#1f3d2b}.btn-ghost:focus-visible{outline:2px solid rgba(31,61,43,.4);outline-offset:2px;background-color:#1f3d2b0d}.btn-sm{padding:.25rem 1rem;font-size:.8125rem}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.form-group{margin-bottom:1.5rem;position:relative}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#1b1f1d;font-size:.8125rem;text-transform:uppercase;letter-spacing:.5px;transition:color .28s cubic-bezier(.22,1,.36,1)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:1rem 1.5rem;border:2px solid rgba(31,61,43,.14);border-radius:12px;font-size:.9375rem;transition:all .28s cubic-bezier(.22,1,.36,1);min-height:48px;background:#fff;box-shadow:0 1px 2px #1b1f1d0f}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#1f3d2b;outline:none;box-shadow:0 0 0 3px #ffd7001a,0 1px 2px #1b1f1d0f;background:linear-gradient(135deg,#fff,#ffd70005)}.form-group input::placeholder,.form-group textarea::placeholder,.form-group select::placeholder{color:#7a837c;opacity:.6;transition:opacity .28s cubic-bezier(.22,1,.36,1)}.form-group input:focus::placeholder,.form-group textarea:focus::placeholder,.form-group select:focus::placeholder{opacity:.4}.form-group input:disabled,.form-group textarea:disabled,.form-group select:disabled{background-color:#f2f5ee;cursor:not-allowed;opacity:.6;border-color:#1f3d2b24}.form-group.floating-label label{position:absolute;top:1rem;left:1.5rem;pointer-events:none;transition:all .28s cubic-bezier(.22,1,.36,1);background:#fff;padding:0 .25rem}.form-group.floating-label input:focus+label,.form-group.floating-label input:not(:placeholder-shown)+label{top:-.5rem;font-size:.75rem;color:#1f3d2b}.form-group textarea{resize:vertical;min-height:100px}.form-group .error{margin-top:.25rem;color:#8b3a62;font-size:.8125rem}.card{background-color:#fff;border-radius:16px;box-shadow:0 4px 12px #1b1f1d1a;padding:1.5rem;margin-bottom:1.5rem;transition:all .28s cubic-bezier(.22,1,.36,1);border:1px solid rgba(255,215,0,.1);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#1f3d2b,#3e7cb1);transform:scaleX(0);transition:transform .28s cubic-bezier(.22,1,.36,1)}.card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #1b1f1d1f;border-color:#ffd7004d}.card:hover:before{transform:scaleX(1)}.card-header{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(31,61,43,.14)}.card-title{font-size:1.1875rem;font-weight:600;color:#1b1f1d;background:linear-gradient(135deg,#1f3d2b,#3e7cb1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card-body{color:#4a524c}.modal{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:#fff;border-radius:16px;box-shadow:0 8px 24px #1b1f1d1f;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;padding:2rem;position:relative}.loading{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.text-center{text-align:center}.text-primary{color:#1f3d2b}.text-secondary{color:#4a524c}.text-error{color:#8b3a62}.text-success{color:#3e7cb1}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.p-1{padding:.5rem}.p-2{padding:1rem}.p-3{padding:1.5rem}.p-4{padding:2rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-center{align-items:center;justify-content:center}.flex-between{justify-content:space-between}.flex-gap-1{gap:.5rem}.flex-gap-2{gap:1rem}.flex-gap-3{gap:1.5rem}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}}@media(min-width:768px)and (max-width:1024px){.container{max-width:900px;padding:0 1.5rem}.card{padding:1rem}.btn{padding:.5rem 1rem;font-size:.8125rem}}img{image-orientation:from-image;object-fit:cover;object-position:center}.lazy-image-container img,.avatar img,.pet-avatar img,.profile-picture img,.participant-avatar img,.owner-avatar img{image-orientation:from-image;object-fit:cover;object-position:center;width:100%;height:100%}*:focus-visible{outline:3px solid #FF6B35;outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}a:not(.btn){color:#1f3d2b}a:not(.btn):hover{color:#1d4ed8}a:not(.btn):focus-visible{outline:3px solid #FF6B35;outline-offset:2px}button:focus-visible,.btn:focus-visible{outline:3px solid #FF6B35;outline-offset:2px}.pet-avatar{display:inline-grid;place-items:center;border-radius:50%;overflow:hidden;flex-shrink:0;color:var(--color-moss);background:color-mix(in srgb,var(--color-moss) 12%,var(--color-mist))}.pet-avatar--sky{color:var(--color-sky);background:color-mix(in srgb,var(--color-sky) 16%,var(--color-mist))}.pet-avatar--gold{color:var(--color-moss);background:color-mix(in srgb,var(--color-trail-gold) 42%,var(--color-mist))}.pet-avatar__img{width:100%;height:100%;object-fit:cover;display:block}.pet-avatar__sil{width:72%;height:72%;display:block}.pet-avatar--empty{border:1.5px solid color-mix(in srgb,currentColor 22%,transparent)}.map-app-shell{position:relative;min-height:100dvh;display:flex;flex-direction:column;background:var(--color-mist);color:var(--color-ink);font-family:var(--font-body)}.map-app-shell__offline{position:relative;z-index:950;padding:.55rem .85rem;font-size:var(--text-label, .8125rem);line-height:1.35;background:color-mix(in srgb,var(--color-trail-gold) 35%,var(--color-mist));color:var(--color-ink);text-align:center}.map-app-shell--map .map-app-shell__main{position:relative;flex:1;min-height:0;padding:0}.map-app-shell__main{flex:1;padding:0 1rem 1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.map-app-shell__fab{position:fixed;right:calc(env(safe-area-inset-right,0px) + 16px);bottom:calc(env(safe-area-inset-bottom,0px) + 24px);z-index:950}.map-app-shell--map .map-app-shell__fab{bottom:calc(env(safe-area-inset-bottom,0px) + 28px)}.map-app-shell button.map-app-shell__account-fab{position:absolute;top:calc(env(safe-area-inset-top,0px) + 10px);right:calc(env(safe-area-inset-right,0px) + 10px);z-index:1004;width:auto;height:auto;min-width:44px;min-height:44px;padding:.2rem .55rem .2rem .2rem;border:1px solid color-mix(in srgb,var(--color-moss) 12%,transparent);border-radius:999px;background:color-mix(in srgb,#fff 78%,var(--color-mist));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--color-moss);box-shadow:var(--shadow-map-control);display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;overflow:visible;-webkit-tap-highlight-color:transparent}.map-app-shell button.map-app-shell__account-fab:hover:not(:disabled){background:color-mix(in srgb,#fff 88%,var(--color-mist))}.map-app-shell button.map-app-shell__account-fab:active{transform:scale(.96);opacity:1}.map-app-shell button.map-app-shell__account-fab .pet-avatar{width:36px!important;height:36px!important;flex-shrink:0}.map-app-shell__account-label{font-family:var(--font-body);font-size:var(--text-label);font-weight:650;padding-right:.25rem;white-space:nowrap}.map-app-shell__account-dot{position:absolute;top:4px;left:30px;width:8px;height:8px;border-radius:50%;background:var(--color-plum);border:1.5px solid color-mix(in srgb,#fff 80%,var(--color-mist));pointer-events:none}.map-app-shell--sheet-open button.map-app-shell__account-fab{z-index:1090;opacity:0;pointer-events:none}.map-app-shell--guest .map-app-shell__main{padding-bottom:env(safe-area-inset-bottom,0px)}@media(min-width:1024px){.map-app-shell--map .map-app-shell__fab{right:calc(env(safe-area-inset-right,0px) + 24px);bottom:calc(env(safe-area-inset-bottom,0px) + 32px)}.map-app-shell:not(.map-app-shell--map) .map-app-shell__main{max-width:720px;margin:0 auto;width:100%}.map-detail-sheet--fullscreen{inset:0!important;width:100%!important;max-height:100dvh!important;height:100dvh!important;border-radius:0}}button.map-detail-sheet__backdrop{position:fixed;inset:0;z-index:1100;display:block;margin:0;padding:0;min-height:0;min-width:0;border:none;border-radius:0;box-shadow:none;background:color-mix(in srgb,var(--color-ink) 20%,transparent)!important;color:transparent!important;cursor:pointer}button.map-detail-sheet__backdrop:hover:not(:disabled){background:color-mix(in srgb,var(--color-ink) 22%,transparent)!important}.map-detail-sheet{position:fixed;left:0;right:0;bottom:0;z-index:1101;display:flex;flex-direction:column;background:var(--color-mist);color:var(--color-ink);border-radius:var(--sheet-radius);box-shadow:0 -8px 32px color-mix(in srgb,var(--color-ink) 18%,transparent);max-height:92dvh;transition:height var(--duration-base) var(--ease-out);font-family:var(--font-body)}.map-detail-sheet--peek{height:22dvh}.map-detail-sheet--half{height:48dvh}.map-detail-sheet--full{height:88dvh}.map-detail-sheet--fullscreen{inset:0;height:100dvh!important;max-height:100dvh;border-radius:var(--sheet-radius);z-index:1200;padding-top:env(safe-area-inset-top,0px);animation:map-detail-sheet-slide-up var(--duration-base) var(--ease-out)}@keyframes map-detail-sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.map-detail-sheet__chrome{display:flex;align-items:center;gap:.5rem;padding:0 .75rem .5rem;min-height:var(--touch-min);flex-shrink:0}.map-detail-sheet__close{width:var(--touch-min);height:var(--touch-min);min-width:var(--touch-min);min-height:var(--touch-min);padding:0;border:none;border-radius:var(--control-radius);background:transparent!important;color:var(--color-moss)!important;display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.map-detail-sheet__close:hover:not(:disabled){background:color-mix(in srgb,var(--color-moss) 8%,transparent)!important}.map-detail-sheet__close:active{transform:scale(.96)}.map-detail-sheet__chrome-title{flex:1;margin:0;font-family:var(--font-display);font-size:var(--text-sheet-title);font-weight:650;color:var(--color-moss);text-align:center;line-height:1.2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.map-detail-sheet__chrome-spacer{width:var(--touch-min);height:var(--touch-min);flex-shrink:0}.map-detail-sheet__handle-wrap{display:flex;justify-content:center;align-items:center;min-height:var(--touch-min);padding:.25rem .5rem}.map-detail-sheet__handle{width:44px;height:44px;min-height:44px;min-width:44px;border:none;border-radius:3px;background:transparent!important;color:transparent!important;cursor:pointer;padding:0;box-shadow:none;position:relative}.map-detail-sheet__handle:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:5px;border-radius:3px;background:color-mix(in srgb,var(--color-moss) 28%,transparent)}.map-detail-sheet__handle:hover:not(:disabled):after{background:color-mix(in srgb,var(--color-moss) 40%,transparent)}.map-detail-sheet__title{font-family:var(--font-display);font-size:var(--text-sheet-title);font-weight:650;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 1rem;margin:0 1.25rem .75rem;color:var(--color-moss)}.map-detail-sheet__body{flex:1;overflow:auto;padding:0 1.25rem calc(1.25rem + env(safe-area-inset-bottom,0px));font-size:var(--text-body);line-height:var(--leading-body)}@media(min-width:1024px){button.map-detail-sheet__backdrop{background:transparent!important;pointer-events:none}.map-detail-sheet:not(.map-detail-sheet--fullscreen){inset:72px 20px 100px auto;width:min(380px,36vw);height:auto!important;max-height:calc(100dvh - 180px);border-radius:16px}.map-detail-sheet:not(.map-detail-sheet--fullscreen) .map-detail-sheet__handle-wrap{display:none}.map-detail-sheet--fullscreen{inset:0!important;width:100%!important;max-height:100dvh!important;height:100dvh!important;border-radius:0}}.account-sheet-content{display:flex;flex-direction:column;gap:1.25rem;padding-bottom:.5rem}.account-sheet-content__section{display:flex;flex-direction:column;gap:.45rem}.account-sheet-content__section-title{margin:0 0 .15rem;padding:0 .15rem;font-family:var(--font-display);font-size:var(--text-label);font-weight:650;letter-spacing:.01em;color:color-mix(in srgb,var(--color-moss) 70%,var(--color-ink))}.account-sheet-content__nav{display:flex;flex-direction:column;gap:.35rem}.account-sheet-content__profile{display:flex;align-items:center;gap:.85rem;width:100%;min-height:var(--touch-min);padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--control-radius);background:color-mix(in srgb,#fff 72%,var(--color-mist));color:var(--color-moss);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.account-sheet-content__profile:hover:not(:disabled){background:color-mix(in srgb,var(--color-moss) 6%,var(--color-mist))}.account-sheet-content__profile:active{transform:scale(.98)}.account-sheet-content__avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--color-surface-muted)}.account-sheet-content__avatar--empty{display:block;background:color-mix(in srgb,var(--color-trail-gold) 40%,var(--color-mist))}.account-sheet-content__profile .pet-avatar{flex-shrink:0}.account-sheet-content__profile-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.account-sheet-content__profile-text strong{font-family:var(--font-display);font-size:var(--text-body-lg);font-weight:650;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-sheet-content__profile-text span{font-size:var(--text-label);color:color-mix(in srgb,var(--color-ink) 72%,transparent)}.account-sheet-content__item{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;width:100%;min-height:var(--touch-min);padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--control-radius);background:color-mix(in srgb,#fff 72%,var(--color-mist));color:var(--color-moss);font-family:var(--font-body);font-size:var(--text-body);font-weight:600;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent}.account-sheet-content__item:hover:not(:disabled){background:color-mix(in srgb,var(--color-moss) 6%,var(--color-mist))}.account-sheet-content__item:active{transform:scale(.98)}.account-sheet-content__item-label{flex:1}.account-sheet-content__item-badge{min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--color-plum);color:var(--color-on-plum);font-size:11px;font-weight:700;display:grid;place-items:center;margin-left:auto}.account-sheet-content__logout{min-height:var(--touch-min);width:100%;margin-top:.25rem;padding:.75rem 1rem;border:none;border-radius:var(--control-radius);background:transparent;color:color-mix(in srgb,var(--color-plum) 85%,var(--color-ink));font-family:var(--font-body);font-size:var(--text-body);font-weight:600;cursor:pointer;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.account-sheet-content__logout:hover:not(:disabled){background:color-mix(in srgb,var(--color-plum) 8%,transparent)}.account-sheet-content__guest-msg{margin:0;font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-ink)}.account-sheet-content__guest-actions{display:flex;flex-direction:column;gap:.5rem}.account-sheet-content__note{margin:0;text-align:center;font-size:var(--text-label);color:color-mix(in srgb,var(--color-ink) 65%,transparent)}.screen-skeleton{display:flex;flex-direction:column;gap:.75rem;padding:.25rem 0 1rem}.screen-skeleton--map{position:relative;min-height:100vh;min-height:100dvh;padding:0;background:var(--color-mist, #f2f5ee);overflow:hidden}.screen-skeleton__map-pulse{position:absolute;inset:0;background:radial-gradient(ellipse 70% 50% at 50% 45%,color-mix(in srgb,var(--color-moss) 14%,transparent),transparent 70%),linear-gradient(160deg,color-mix(in srgb,var(--color-mist) 90%,#fff),color-mix(in srgb,var(--color-moss) 8%,var(--color-mist)));animation:screen-skeleton-pulse 1.4s ease-in-out infinite}.screen-skeleton__map-chrome{position:absolute;left:1rem;right:1rem;top:calc(env(safe-area-inset-top,0px) + 1rem);display:flex;align-items:center;justify-content:space-between;gap:1rem;z-index:1}.screen-skeleton__map-chrome .screen-skeleton__line--lg{height:44px;border-radius:14px;max-width:220px;flex:1}.screen-skeleton__map-chrome .screen-skeleton__avatar{width:44px;height:44px}.screen-skeleton--cards .screen-skeleton__card{display:flex;gap:.85rem;padding:.85rem;border-radius:var(--control-radius);background:var(--color-surface);border:1px solid var(--color-border)}.screen-skeleton__illus{width:72px;height:72px;border-radius:var(--chip-radius);background:color-mix(in srgb,var(--color-trail-gold) 25%,var(--color-mist));flex-shrink:0;animation:screen-skeleton-pulse 1.2s ease-in-out infinite}.screen-skeleton__avatar{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--color-moss) 12%,var(--color-mist));flex-shrink:0;animation:screen-skeleton-pulse 1.2s ease-in-out infinite}.screen-skeleton__lines{flex:1;display:flex;flex-direction:column;gap:.45rem;justify-content:center}.screen-skeleton__line{display:block;height:10px;border-radius:5px;background:color-mix(in srgb,var(--color-moss) 10%,var(--color-mist));animation:screen-skeleton-pulse 1.2s ease-in-out infinite;width:70%}.screen-skeleton__line--lg{width:88%;height:14px}.screen-skeleton__line--sm{width:45%}.screen-skeleton__row{display:flex;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--color-border)}.screen-skeleton--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.screen-skeleton__badge{aspect-ratio:1;border-radius:50%;background:color-mix(in srgb,var(--color-moss) 10%,var(--color-mist));animation:screen-skeleton-pulse 1.2s ease-in-out infinite}@keyframes screen-skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}.screen-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 1rem;gap:.65rem}.screen-empty__title{margin:0;font-family:var(--font-display);font-size:var(--text-screen-title);color:var(--color-moss)}.screen-empty__body{margin:0;max-width:28ch;font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-ink)}.screen-empty__cta{margin-top:.5rem}.screen-error{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem 1rem;text-align:center}.screen-error__msg{margin:0;font-size:var(--text-body);color:var(--color-ink)}.map-living-skeleton{position:relative;min-height:100vh;min-height:100dvh;padding:0;background:var(--color-mist);overflow:hidden}.map-living-skeleton__terrain{position:absolute;inset:0;background:radial-gradient(ellipse 55% 40% at 42% 48%,color-mix(in srgb,var(--color-moss) 11%,transparent),transparent 70%),linear-gradient(155deg,color-mix(in srgb,var(--color-mist) 92%,#fff),color-mix(in srgb,var(--color-moss) 7%,var(--color-mist)))}.map-living-skeleton__road{position:absolute;background:color-mix(in srgb,var(--color-moss) 9%,transparent);border-radius:4px;animation:screen-skeleton-pulse 1.6s ease-in-out infinite}.map-living-skeleton__road--a{left:8%;top:38%;width:72%;height:10px;transform:rotate(-8deg)}.map-living-skeleton__road--b{left:22%;top:52%;width:10px;height:38%;transform:rotate(12deg)}.map-living-skeleton__road--c{left:40%;top:28%;width:48%;height:8px;transform:rotate(18deg);animation-delay:.2s}.map-living-skeleton__park{position:absolute;left:18%;top:58%;width:28%;height:16%;border-radius:40% 45% 38% 42%;background:color-mix(in srgb,var(--color-moss) 14%,transparent);animation:screen-skeleton-pulse 1.8s ease-in-out infinite}.map-living-skeleton__dot{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid color-mix(in srgb,#fff 80%,transparent);animation:screen-skeleton-pulse 1.3s ease-in-out infinite}.map-living-skeleton__dot--1{left:34%;top:44%;background:var(--color-sky)}.map-living-skeleton__dot--2{left:58%;top:36%;background:color-mix(in srgb,var(--color-moss) 70%,var(--color-mist));animation-delay:.15s}.map-living-skeleton__dot--3{left:48%;top:62%;background:var(--color-trail-gold);animation-delay:.3s}.map-living-skeleton__dot--4{left:68%;top:55%;background:var(--color-plum);animation-delay:.45s}.map-living-skeleton__chrome{position:absolute;left:12px;right:12px;top:calc(env(safe-area-inset-top,0px) + 14px);display:flex;align-items:center;gap:.65rem;z-index:1}.map-living-skeleton__search{flex:1;height:44px;max-width:calc(100% - 56px);border-radius:22px;background:color-mix(in srgb,#fff 72%,var(--color-mist));box-shadow:var(--shadow-map-control);animation:screen-skeleton-pulse 1.4s ease-in-out infinite}.map-living-skeleton__account{width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,#fff 72%,var(--color-mist));box-shadow:var(--shadow-map-control);animation:screen-skeleton-pulse 1.4s ease-in-out infinite}.map-living-skeleton__rail{position:absolute;left:12px;top:calc(env(safe-area-inset-top,0px) + 70px);display:flex;gap:.4rem;z-index:1}.map-living-skeleton__rail span{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,#fff 70%,var(--color-mist));box-shadow:var(--shadow-map-control);animation:screen-skeleton-pulse 1.5s ease-in-out infinite}.map-living-skeleton__dock{position:absolute;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom,0px) + 20px);display:flex;align-items:center;justify-content:space-between;gap:.75rem;z-index:1}.map-living-skeleton__dock-btn{width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,#fff 70%,var(--color-mist));box-shadow:var(--shadow-map-control);animation:screen-skeleton-pulse 1.4s ease-in-out infinite}.map-living-skeleton__dock-cta{flex:1;max-width:200px;margin-left:auto;height:48px;border-radius:24px;background:color-mix(in srgb,var(--color-plum) 35%,var(--color-mist));box-shadow:var(--shadow-map-control);animation:screen-skeleton-pulse 1.4s ease-in-out infinite}.destination-host__content{min-height:40dvh}.destination-host__back-inner{display:inline-flex;align-items:center;min-height:var(--touch-min);margin:0 0 .5rem;padding:.35rem .75rem;border:none;border-radius:var(--control-radius);background:transparent;color:var(--color-moss);font-family:var(--font-body);font-size:var(--text-label);font-weight:600;cursor:pointer}.destination-host__back-inner:active{transform:scale(.98);background:color-mix(in srgb,var(--color-moss) 8%,transparent)}.destination-host__subnav{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.destination-host__stack{display:flex;flex-direction:column;gap:.5rem}.revelation{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:1.25rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0px));background:var(--color-overlay)}.revelation__card{width:min(100%,360px);padding:1.75rem 1.35rem 1.35rem;border-radius:20px;background:var(--color-mist);box-shadow:var(--shadow-sheet);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.65rem}.revelation__card--cert{border:2px solid var(--color-trail-gold)}.revelation__card--promo{border:2px solid var(--color-plum)}.revelation__badge--pop{animation:revelation-badge-pop var(--duration-badge) var(--ease-out)}@keyframes revelation-badge-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}.revelation__title{margin:0;font-family:var(--font-display);font-size:var(--text-screen-title);color:var(--color-moss)}.revelation--plum .revelation__title{color:var(--color-plum)}.revelation__name{margin:0;font-size:var(--text-body-lg);font-weight:600;color:var(--color-ink)}.revelation__meta{margin:0;font-size:var(--text-label);color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.revelation__chip{display:inline-block;padding:.25rem .65rem;border-radius:var(--chip-radius);background:color-mix(in srgb,var(--color-trail-gold) 28%,var(--color-mist));color:var(--color-moss);font-size:var(--text-label);font-weight:600}.revelation__actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.5rem;width:100%}.revelation__actions .btn{flex:1 1 auto;min-width:120px}.revelation__code{display:block;margin:.35rem 0;padding:.65rem 1rem;border-radius:var(--control-radius);background:color-mix(in srgb,var(--color-plum) 12%,var(--color-mist));color:var(--color-plum);font-size:1.125rem;font-weight:700;letter-spacing:.06em}.revelation__partner-label{margin:0;font-size:var(--text-label);font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--color-plum)}.revelation__partner-logo{width:64px;height:64px;object-fit:contain;border-radius:var(--chip-radius)}.revelation__partner-swatch{width:48px;height:48px;border-radius:50%}.revelation__carnet{margin-bottom:.25rem}.inwoof-map{position:relative;width:100%;height:100%;min-height:240px;background:var(--color-mist);overflow:hidden}.inwoof-map .maplibregl-map{width:100%!important;height:100%!important;font-family:var(--font-body)}.inwoof-map .maplibregl-canvas,.inwoof-map .maplibregl-canvas-container{width:100%!important;height:100%!important}.inwoof-map--ios .maplibregl-canvas{position:absolute!important;inset:0!important}.inwoof-map .maplibregl-ctrl-group{border:1px solid color-mix(in srgb,var(--color-moss) 12%,transparent)!important;border-radius:12px!important;overflow:hidden;box-shadow:var(--shadow-map-control)!important;background:color-mix(in srgb,#fff 72%,var(--color-mist))!important}.inwoof-map .maplibregl-ctrl-group button{width:36px!important;height:36px!important;background-color:transparent!important}.inwoof-map .maplibregl-ctrl-top-right{top:calc(env(safe-area-inset-top,0px) + var(--map-fab-size, 52px) + 3.6rem);right:calc(env(safe-area-inset-right,0px) + 10px);z-index:2}.inwoof-map .maplibregl-ctrl-bottom-right{bottom:calc(env(safe-area-inset-bottom,0px) + var(--map-dock-bottom, 1.25rem) + 3.75rem);right:calc(env(safe-area-inset-right,0px) + 8px)}.inwoof-map .maplibregl-ctrl-attrib{font-size:11px;background:color-mix(in srgb,var(--color-mist) 92%,transparent)!important;color:var(--color-moss)}.inwoof-map .maplibregl-ctrl-attrib a{color:var(--color-moss)}.inwoof-map__fallback{position:absolute;inset:auto 12px 48px;z-index:2;padding:.75rem 1rem;border-radius:12px;background:color-mix(in srgb,var(--color-mist) 94%,transparent);color:var(--color-ink);font-size:var(--text-label);box-shadow:0 4px 16px color-mix(in srgb,var(--color-ink) 12%,transparent);pointer-events:none}.inwoof-map__attr{margin:.35rem 0 0;color:var(--color-moss);opacity:.85}.spot-search-bar{position:absolute;left:calc(env(safe-area-inset-left,0px) + .75rem);top:calc(env(safe-area-inset-top,0px) + var(--map-search-top, 3.6rem));z-index:1003;width:min(100% - var(--map-control-right, 3.25rem) - env(safe-area-inset-right,0px),360px);pointer-events:auto;transition:opacity var(--duration-base, .2s) var(--ease-out, ease)}.spot-search-bar--embedded{position:relative;left:auto;top:auto;width:100%;z-index:1;overflow:visible}.spot-search-bar.is-sheet-open{opacity:0;pointer-events:none}.spot-search-bar--guest:not(.spot-search-bar--embedded){top:calc(env(safe-area-inset-top,0px) + var(--map-search-top, 3.6rem));width:min(100% - var(--map-control-right, 3.25rem) - env(safe-area-inset-right,0px),360px)}.spot-search-bar__field{position:relative;display:flex;align-items:center}.spot-search-bar__leading{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);z-index:1;color:color-mix(in srgb,var(--color-moss) 55%,transparent);display:grid;place-items:center;pointer-events:none}.spot-search-bar__input{width:100%;min-height:44px;border:1px solid color-mix(in srgb,var(--color-moss) 14%,transparent);border-radius:22px;padding:.7rem 2.4rem .7rem 2.55rem;background:color-mix(in srgb,#fff 72%,var(--color-mist));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);font-weight:500;box-shadow:var(--shadow-map-control);outline:none;appearance:none}.spot-search-bar__input::placeholder{color:color-mix(in srgb,var(--color-moss) 45%,transparent);font-weight:500}.spot-search-bar__input:focus{border-color:color-mix(in srgb,var(--color-moss) 40%,transparent);box-shadow:var(--shadow-map-control),0 0 0 3px color-mix(in srgb,var(--color-sky) 22%,transparent)}.spot-search-bar__clear{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);border:none;background:transparent!important;color:color-mix(in srgb,var(--color-moss) 55%,transparent)!important;font-size:1.25rem;line-height:1;width:2.25rem;height:2.25rem;min-width:2.25rem;min-height:2.25rem;padding:0;cursor:pointer;border-radius:10px;display:grid;place-items:center;box-shadow:none!important}.spot-search-bar__clear:hover{background:color-mix(in srgb,var(--color-moss) 8%,transparent)!important;color:var(--color-moss)!important}.spot-search-bar__list{position:relative;z-index:5;list-style:none;margin:.45rem 0 0;padding:.35rem 0;max-height:min(55dvh,360px);overflow-y:auto;overflow-x:hidden;border-radius:14px;background:color-mix(in srgb,#fff 94%,var(--color-mist));backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 8px 28px color-mix(in srgb,var(--color-ink) 14%,transparent),0 1px color-mix(in srgb,var(--color-moss) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-moss) 12%,transparent)}.spot-search-bar--embedded .spot-search-bar__list{position:absolute;left:0;right:0;top:calc(100% + .45rem);margin:0;width:100%}.spot-search-bar__item,button.spot-search-bar__item{display:flex;align-items:flex-start;justify-content:flex-start;gap:.65rem;width:100%;min-height:48px;min-width:0;border:none!important;background:transparent!important;text-align:left;padding:.6rem .9rem!important;cursor:pointer;color:var(--color-ink)!important;border-radius:0!important;border-left:3px solid var(--spot-accent, var(--color-moss))!important;box-shadow:none!important;font-weight:500;font-size:inherit;transform:none!important}.spot-search-bar__item:hover,.spot-search-bar__item:focus-visible,button.spot-search-bar__item:hover:not(:disabled),button.spot-search-bar__item:focus-visible{background:color-mix(in srgb,var(--spot-accent, var(--color-moss)) 10%,transparent)!important;transform:none!important;box-shadow:none!important}.spot-search-bar__icon{flex-shrink:0;width:32px;height:32px;margin-top:.1rem;display:flex;align-items:center;justify-content:center;opacity:.92}.spot-search-bar__icon .inwoof-marker{transform:scale(.9)}.spot-search-bar__text{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.spot-search-bar__text strong{font-family:var(--font-display);font-size:.92rem;font-weight:650;line-height:1.25;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;color:var(--color-ink)}.spot-search-bar__meta{font-size:.75rem;color:color-mix(in srgb,var(--color-moss) 72%,var(--color-ink));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spot-search-bar__msg{padding:.7rem .9rem;font-size:var(--text-label);color:color-mix(in srgb,var(--color-ink) 55%,transparent);line-height:1.35}@media(max-width:480px){.spot-search-bar,.spot-search-bar--guest{width:min(100% - var(--map-control-right, 3.25rem) - env(safe-area-inset-right,0px),100%)}}.map-chrome{--map-fab-size: 52px;--map-search-top: calc(var(--map-fab-size) + 10px);--map-rail-top: calc(var(--map-fab-size) + 3.85rem);--map-dock-bottom: 1.25rem;--map-control-right: 7.5rem;pointer-events:none;position:absolute;inset:0;z-index:1003}.map-chrome>*{pointer-events:auto}.map-chrome.is-sheet-open .map-chrome__top,.map-chrome.is-sheet-open .map-chrome__rail,.map-chrome.is-sheet-open .map-chrome__dock,.map-chrome.is-sheet-open .map-chrome__live-status,.map-chrome.is-sheet-open .map-chrome__ghost-hint,.map-chrome--searching .map-chrome__rail,.map-chrome--searching .map-chrome__live-status,.map-chrome--searching .map-chrome__ghost-hint{opacity:0;pointer-events:none}.map-chrome--searching .map-chrome__top{z-index:20;right:calc(env(safe-area-inset-right,0px) + .75rem);width:auto;max-width:none}.map-chrome--searching .map-chrome__dock{opacity:.45}.map-chrome__top{position:absolute;left:calc(env(safe-area-inset-left,0px) + .75rem);right:calc(env(safe-area-inset-right,0px) + var(--map-control-right));top:calc(env(safe-area-inset-top,0px) + var(--map-search-top));z-index:2;width:min(100% - var(--map-control-right) - env(safe-area-inset-right,0px) - .75rem,360px);max-width:none;overflow:visible}.map-chrome__rail{position:absolute;left:calc(env(safe-area-inset-left,0px) + .75rem);right:calc(env(safe-area-inset-right,0px) + .75rem);top:calc(env(safe-area-inset-top,0px) + var(--map-rail-top));display:flex;flex-direction:row;flex-wrap:nowrap;gap:.35rem;align-items:center;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;z-index:2;-webkit-mask-image:linear-gradient(to right,#000 85%,transparent 100%);mask-image:linear-gradient(to right,#000 85%,transparent 100%)}.map-chrome__rail::-webkit-scrollbar{display:none}.map-chrome__layer{height:44px;min-height:44px;flex-shrink:0;padding:0 .85rem;border:1px solid color-mix(in srgb,var(--color-moss) 18%,transparent);border-radius:999px;background:color-mix(in srgb,#fff 82%,var(--color-mist));color:var(--color-moss);box-shadow:var(--shadow-map-control);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:var(--font-body);font-size:var(--text-label);font-weight:600;white-space:nowrap;transition:transform .12s ease,background .15s ease,color .15s ease}.map-chrome__layer:active{transform:scale(.94)}.map-chrome__layer.is-on{background:var(--color-sky);color:var(--color-on-sky);border-color:transparent}.map-chrome__live-status{position:absolute;left:50%;transform:translate(-50%);top:calc(env(safe-area-inset-top,0px) + .65rem);z-index:2;display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border-radius:var(--chip-radius);background:color-mix(in srgb,var(--color-sky) 92%,transparent);color:var(--color-on-sky);font-size:var(--text-label);font-weight:600;box-shadow:var(--shadow-map-control);pointer-events:none;white-space:nowrap;max-width:calc(100% - 8rem)}.map-chrome__live-status--detect{background:color-mix(in srgb,var(--color-trail-gold) 88%,var(--color-mist));color:var(--color-ink)}.map-chrome__live-dot{display:block;width:8px;height:8px;border-radius:50%;background:var(--color-mist);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-mist) 40%,transparent)}.map-chrome__dock{position:absolute;left:calc(env(safe-area-inset-left,0px) + .75rem);right:calc(env(safe-area-inset-right,0px) + .75rem);bottom:calc(env(safe-area-inset-bottom,0px) + var(--map-dock-bottom));display:flex;align-items:center;gap:.5rem;z-index:2}.map-chrome__dock-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;height:48px;min-height:48px;padding:0 1rem;border:1px solid color-mix(in srgb,var(--color-moss) 14%,transparent);border-radius:999px;background:color-mix(in srgb,#fff 88%,var(--color-mist));color:var(--color-moss);box-shadow:var(--shadow-map-control);font-family:var(--font-body);font-size:var(--text-label);font-weight:650;cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap;transition:transform .12s ease}@supports (backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px)){@media(min-width:768px){.map-chrome__dock-btn{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}}.map-chrome__dock-btn:active:not(:disabled){transform:scale(.94)}.map-chrome__dock-btn.is-warn{background:color-mix(in srgb,var(--color-trail-gold) 45%,var(--color-mist));color:var(--color-ink);border-color:transparent}.map-chrome__dock-btn.is-busy,.map-chrome__dock-btn:disabled{opacity:.85;cursor:wait}.map-chrome__spinner{width:14px;height:14px;border:2px solid color-mix(in srgb,var(--color-moss) 25%,transparent);border-top-color:var(--color-moss);border-radius:50%;animation:map-chrome-spin .7s linear infinite}@keyframes map-chrome-spin{to{transform:rotate(360deg)}}.map-chrome__cta{display:inline-flex;align-items:center;justify-content:center;height:48px;min-height:48px;min-width:0;flex:1;padding:0 1rem;margin-left:auto;border:none;border-radius:999px;background:var(--color-plum);color:var(--color-on-plum);font-family:var(--font-body);font-size:var(--text-body);font-weight:650;box-shadow:var(--shadow-map-control);cursor:pointer;-webkit-tap-highlight-color:transparent;white-space:nowrap;transition:transform .12s ease,opacity .15s ease}.map-chrome__cta:active:not(:disabled){transform:scale(.94)}.map-chrome__cta--ghost{background:var(--color-plum);color:var(--color-on-plum)}.map-chrome__cta--ghost-on{background:color-mix(in srgb,var(--color-plum) 72%,var(--color-ink));color:var(--color-on-plum)}.map-chrome__cta:disabled{opacity:.65;cursor:wait}.map-chrome__ghost-hint{position:absolute;left:calc(env(safe-area-inset-left,0px) + .75rem);right:calc(env(safe-area-inset-right,0px) + .75rem);bottom:calc(env(safe-area-inset-bottom,0px) + var(--map-dock-bottom) + 3.35rem);margin:0;text-align:right;font-size:.7rem;color:color-mix(in srgb,var(--color-moss) 70%,transparent);pointer-events:none;z-index:2}@media(min-width:1024px){.map-chrome__top{max-width:360px}.map-chrome__dock{bottom:calc(env(safe-area-inset-bottom,0px) + 1.5rem);right:calc(env(safe-area-inset-right,0px) + 1.25rem)}}.spot-detail,.walker-detail{color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-body)}.spot-detail__chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .85rem}.spot-detail__chip{display:inline-flex;align-items:center;gap:.35rem;min-height:32px;padding:.2rem .65rem .2rem .25rem;border-radius:999px;background:color-mix(in srgb,var(--color-moss) 8%,var(--color-mist));border:1px solid color-mix(in srgb,var(--color-moss) 12%,transparent);font-size:var(--text-label);font-weight:600;color:var(--color-moss)}.spot-detail__chip--gold{padding:.2rem .7rem;background:color-mix(in srgb,var(--color-trail-gold) 22%,var(--color-mist));border-color:color-mix(in srgb,var(--color-trail-gold) 45%,transparent);color:var(--color-ink)}.spot-detail__chip--dog{padding:.2rem .7rem;background:color-mix(in srgb,var(--color-sky) 18%,var(--color-mist));border-color:color-mix(in srgb,var(--color-sky) 35%,transparent);color:var(--color-ink)}.spot-detail__facts{display:grid;grid-template-columns:auto 1fr;gap:.35rem .75rem;margin:.75rem 0 .5rem;font-size:var(--text-label)}.spot-detail__facts dt{margin:0;font-weight:650;color:color-mix(in srgb,var(--color-moss) 75%,var(--color-ink))}.spot-detail__facts dd{margin:0;color:var(--color-ink);word-break:break-word}.spot-detail__facts dd a{color:var(--color-moss);text-decoration:underline;text-underline-offset:2px}.spot-detail__desc-block{display:flex;flex-direction:column;gap:.35rem}.spot-detail__chip-icon{display:grid;place-items:center;width:26px;height:26px;transform:scale(.72);transform-origin:center}.spot-detail__photos{display:flex;gap:.5rem;overflow-x:auto;margin-bottom:.85rem}.spot-detail__photo{width:140px;height:105px;object-fit:cover;border-radius:var(--chip-radius);flex-shrink:0;box-shadow:var(--shadow-map-control)}.spot-detail__illus{position:relative;height:140px;border-radius:var(--control-radius);margin-bottom:.85rem;display:grid;place-items:center;box-shadow:var(--shadow-map-control);background:linear-gradient(135deg,color-mix(in srgb,var(--color-moss) 28%,var(--color-mist)),color-mix(in srgb,var(--color-sky) 22%,var(--color-mist)))}.spot-detail__illus--point_eau{background:linear-gradient(135deg,var(--color-sky),color-mix(in srgb,var(--color-sky) 40%,var(--color-mist)))}.spot-detail__illus--aire_canine{background:linear-gradient(135deg,var(--color-moss),color-mix(in srgb,var(--color-trail-gold) 40%,var(--color-moss)))}.spot-detail__illus--commerce_dog_friendly,.spot-detail__illus--toilettage{background:linear-gradient(135deg,var(--color-plum),color-mix(in srgb,var(--color-plum) 50%,var(--color-mist)))}.spot-detail__illus--veterinaire{background:linear-gradient(135deg,color-mix(in srgb,var(--color-sky) 80%,var(--color-moss)),color-mix(in srgb,var(--color-sky) 35%,var(--color-mist)))}.spot-detail__illus-icon{display:grid;place-items:center;width:48px;height:48px;filter:drop-shadow(0 2px 8px color-mix(in srgb,var(--color-ink) 25%,transparent))}.spot-detail__illus-icon .inwoof-marker--spot{width:40px;height:40px}.spot-detail__place,.spot-detail__address,.spot-detail__desc,.spot-detail__meta{margin:0 0 .5rem;color:var(--color-ink)}.spot-detail__place{font-weight:600;color:var(--color-moss)}.spot-detail__address,.spot-detail__meta{font-size:var(--text-label);color:color-mix(in srgb,var(--color-ink) 65%,transparent)}.spot-detail__guest-cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:var(--touch-min);margin-top:1rem;padding:.75rem 1.1rem;border:none;border-radius:var(--control-radius);background:var(--color-plum);color:var(--color-on-plum);font-family:var(--font-display);font-weight:600;font-size:var(--text-body);cursor:pointer;box-shadow:var(--shadow-float)}.spot-detail__parcours-label{font-family:var(--font-display);font-size:var(--text-label);font-weight:600;color:var(--color-moss);margin:.75rem 0 .35rem}.spot-detail__parcours ul{list-style:none;margin:0;padding:0}.spot-detail__parcours-btn,.spot-detail__parcours a{display:flex;align-items:center;min-height:var(--touch-min);width:100%;text-align:left;padding:.55rem .75rem;margin-bottom:.35rem;border:1px solid var(--color-border);border-radius:var(--control-radius);background:color-mix(in srgb,#fff 70%,var(--color-mist));color:var(--color-moss);font-weight:600;text-decoration:none;cursor:pointer}.walker-detail__card{padding:.5rem 0 1rem;border-bottom:1px solid var(--color-border)}.walker-detail__card:last-child{border-bottom:none}.walker-detail__row{display:flex;gap:.75rem;align-items:center}.walker-detail__avatar-wrap{flex-shrink:0;box-shadow:0 0 0 3px var(--color-status-unknown)}.walker-detail__avatar-wrap--friendly{box-shadow:0 0 0 3px var(--color-status-friendly)}.walker-detail__avatar-wrap--caution{box-shadow:0 0 0 3px var(--color-status-caution)}.walker-detail__avatar{width:56px;height:56px;border-radius:50%;overflow:hidden;border:3px solid var(--color-status-unknown);background:var(--color-surface-muted);flex-shrink:0}.walker-detail__avatar img{width:100%;height:100%;object-fit:cover}.walker-detail__avatar--friendly{border-color:var(--color-status-friendly)}.walker-detail__avatar--caution{border-color:var(--color-status-caution)}.walker-detail__sil{display:block;width:100%;height:100%;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--color-moss) 35%,var(--color-mist)),var(--color-moss))}.walker-detail__name{font-family:var(--font-display);font-size:var(--text-sheet-title);color:var(--color-moss);margin:0;font-weight:600}.walker-detail__owner,.walker-detail__walk{margin:.1rem 0 0;font-size:var(--text-label);color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.walker-detail__walk{color:var(--color-sky);font-weight:600}.walker-detail__status{display:flex;align-items:center;gap:.4rem;margin:.75rem 0 .25rem;font-weight:600;font-size:var(--text-body)}.walker-detail__status--friendly{color:var(--color-status-friendly)}.walker-detail__status--caution{color:var(--color-status-caution)}.walker-detail__status--unknown{color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.walker-detail__dot{width:10px;height:10px;border-radius:50%;background:currentColor}.walker-detail__hint,.walker-detail__privacy{margin:.25rem 0 0;font-size:var(--text-label);color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.walker-detail__card--btn{width:100%;text-align:left;background:transparent;border:none;cursor:pointer;font:inherit;color:inherit;padding:.5rem 0 .75rem;border-bottom:1px solid var(--color-border)}.walker-detail__complicite{margin:0 0 .85rem;padding:.65rem .75rem;border-radius:var(--control-radius);background:color-mix(in srgb,var(--color-sky) 12%,var(--color-mist))}.walker-detail__complicite h4{margin:0 0 .25rem;font-family:var(--font-display);font-size:.95rem;color:var(--color-moss)}.walker-detail__complicite p{margin:0;font-size:var(--text-body)}.walker-detail__chat-btn{margin-top:.65rem;min-height:var(--touch-min);width:100%;border:none;border-radius:12px;background:var(--color-moss);color:var(--color-on-moss);font-weight:600;cursor:pointer}.walker-detail__expand-hint,.walker-detail__hint-expand{margin:1rem 0 0;font-size:var(--text-label);color:color-mix(in srgb,var(--color-ink) 50%,transparent);text-align:center}.walker-detail__full{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.walker-detail__breed{margin:0 0 .5rem;font-weight:600;color:var(--color-moss)}.walker-detail__desc{margin:0 0 .75rem;color:color-mix(in srgb,var(--color-ink) 75%,transparent)}.walker-detail__loading{margin:0 0 .75rem;font-size:var(--text-label)}.walker-detail__mirror{padding:.75rem .85rem;border-radius:var(--control-radius);background:color-mix(in srgb,var(--color-moss) 8%,var(--color-mist));border:1px solid color-mix(in srgb,var(--color-moss) 15%,transparent)}.walker-detail__mirror p{margin:0;font-size:var(--text-body);line-height:1.4}.walker-detail__mirror--friends{background:color-mix(in srgb,var(--color-status-friendly) 18%,var(--color-mist));border-color:color-mix(in srgb,var(--color-status-friendly) 40%,transparent)}.walker-detail__mirror--pending,.walker-detail__mirror--waiting,.walker-detail__mirror--ready{background:color-mix(in srgb,var(--color-trail-gold) 22%,var(--color-mist));border-color:color-mix(in srgb,var(--color-trail-gold) 45%,transparent)}.walker-detail__mirror--expired{background:color-mix(in srgb,var(--color-ink) 6%,var(--color-mist))}.event-detail,.step-detail{color:var(--color-ink);font-size:var(--text-body)}.event-detail h3,.step-detail h3{font-family:var(--font-display);font-size:var(--text-sheet-title);color:var(--color-moss);margin:0 0 .5rem}.event-detail__hero{display:grid;place-items:center;height:96px;margin-bottom:.85rem;border-radius:var(--control-radius);background:linear-gradient(135deg,color-mix(in srgb,var(--color-trail-gold) 55%,var(--color-mist)),color-mix(in srgb,var(--color-moss) 18%,var(--color-mist)));color:var(--color-moss);box-shadow:var(--shadow-map-control)}.event-detail__title{margin:0 0 .35rem;font-family:var(--font-display);font-size:var(--text-sheet-title);font-weight:650;color:var(--color-moss)}.event-detail__place{margin:0 0 .5rem;font-size:var(--text-label);color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.event-detail__desc{margin:0;line-height:var(--leading-body)}.event-detail__badge{display:inline-flex;align-items:center;min-height:28px;padding:0 .65rem;border-radius:var(--chip-radius);background:color-mix(in srgb,var(--color-trail-gold) 35%,var(--color-mist));color:var(--color-ink);font-size:var(--text-label);font-weight:600;margin-bottom:.75rem}.fhs-fab{position:fixed;right:1rem;bottom:calc(env(safe-area-inset-bottom,0px) + var(--map-dock-bottom, 1.25rem) + 4.25rem);z-index:1050;display:inline-flex;align-items:center;gap:.4rem;min-height:var(--touch-min);padding:.7rem 1.1rem;border:none;border-radius:14px;background:var(--color-plum);color:var(--color-on-plum);font-family:var(--font-body);font-weight:600;font-size:var(--text-body);box-shadow:0 8px 24px color-mix(in srgb,var(--color-plum) 35%,transparent);cursor:pointer}.fhs-fab-badge{min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--color-trail-gold);color:var(--color-moss);font-size:.75rem;line-height:1.25rem;text-align:center;font-weight:700}.fhs-screen{position:fixed;inset:0;z-index:1450;display:flex;flex-direction:column;padding:1.25rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom,0px));font-family:var(--font-body);overflow:auto}.fhs-screen--mist{background:var(--color-mist);color:var(--color-ink)}.fhs-screen--moss{background:var(--color-moss);color:var(--color-on-moss)}.fhs-close{position:absolute;top:max(.75rem,env(safe-area-inset-top,0px));right:.75rem;z-index:2;border:none;background:transparent;font-size:1.75rem;line-height:1;min-width:var(--touch-min);min-height:var(--touch-min);color:inherit;opacity:.85;cursor:pointer}.fhs-body{flex:1;display:flex;flex-direction:column;max-width:420px;width:100%;margin:0 auto;padding-top:2.5rem}.fhs-body--center{align-items:center;text-align:center;justify-content:center;gap:.75rem}.fhs-body h2{font-family:var(--font-display);font-size:var(--text-screen-title, 1.65rem);margin:0;color:var(--color-moss)}.fhs-screen--moss .fhs-body h2{color:var(--color-mist)}.fhs-sub{margin:0;font-size:var(--text-body);line-height:1.45;color:color-mix(in srgb,var(--color-ink) 70%,transparent)}.fhs-sub--on-moss{color:color-mix(in srgb,var(--color-mist) 85%,transparent)}.fhs-list{list-style:none;padding:0;margin:1rem 0 0;width:100%}.fhs-row{display:flex;align-items:center;gap:.75rem;width:100%;min-height:var(--touch-min);padding:.65rem .75rem;margin-bottom:.5rem;border:1px solid color-mix(in srgb,var(--color-moss) 15%,transparent);border-radius:14px;background:color-mix(in srgb,#fff 75%,var(--color-mist));text-align:left;cursor:pointer;font:inherit;color:inherit}.fhs-row img{width:48px;height:48px;border-radius:50%;object-fit:cover}.fhs-avatar{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--color-moss) 35%,var(--color-mist)),var(--color-moss));flex-shrink:0}.fhs-meta{display:flex;flex-direction:column;gap:.15rem}.fhs-meta strong{color:var(--color-moss)}.fhs-meta em{font-style:normal;font-size:var(--text-label);color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.fhs-duo{display:flex;align-items:flex-start;justify-content:center;gap:1.25rem;margin-bottom:.5rem}.fhs-duo--celebrate{position:relative;gap:2rem;margin-bottom:1rem}.fhs-pet-avatar{display:flex;flex-direction:column;align-items:center;gap:.35rem}.fhs-pet-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--color-trail-gold)}.fhs-pet-avatar__sil{display:block;width:100%;height:100%;border-radius:50%;border:3px solid var(--color-trail-gold);background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--color-mist) 40%,transparent),color-mix(in srgb,var(--color-sky) 50%,var(--color-moss)))}.fhs-pet-avatar__name{font-size:var(--text-label);font-weight:600;max-width:6.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fhs-seal{position:absolute;left:50%;top:28px;transform:translate(-50%) scale(.6);width:56px;height:56px;border-radius:50%;background:var(--color-trail-gold);color:var(--color-moss);display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:.85rem;box-shadow:0 4px 16px color-mix(in srgb,var(--color-trail-gold) 50%,transparent);animation:fhs-seal-pop .7s var(--ease-out, ease-out) forwards}@keyframes fhs-seal-pop{0%{transform:translate(-50%) scale(.2) rotate(-20deg);opacity:0}60%{transform:translate(-50%) scale(1.12) rotate(4deg);opacity:1}to{transform:translate(-50%) scale(1) rotate(0);opacity:1}}.fhs-phones{margin:.5rem 0 .25rem}.fhs-phones__pulse{animation:fhs-pulse 1.6s ease-in-out infinite}.fhs-phones__dot{animation:fhs-dot 1.6s ease-in-out infinite}@keyframes fhs-pulse{0%,to{opacity:.4;stroke-dashoffset:0}50%{opacity:1}}@keyframes fhs-dot{0%,to{opacity:.5;r:4}50%{opacity:1;r:6}}.fhs-waymark{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:.5rem 0}.fhs-waymark__ring{animation:fhs-spin 2.4s linear infinite;transform-origin:24px 24px}@keyframes fhs-spin{to{transform:rotate(360deg)}}.fhs-waymark__label{margin:0;font-size:var(--text-label);font-weight:600;color:inherit;opacity:.9}.fhs-pin{font-family:var(--font-display);font-size:2.5rem;letter-spacing:.35rem;font-weight:700;color:var(--color-trail-gold);margin:.5rem 0}.fhs-qr{border-radius:12px;background:#fff;padding:.5rem;margin:.5rem 0}.fhs-label{align-self:stretch;text-align:left;font-size:var(--text-label);font-weight:600;margin-top:.35rem}.fhs-label--on-moss{color:color-mix(in srgb,var(--color-mist) 90%,transparent)}.fhs-pin-input{width:100%;min-height:var(--touch-min);padding:.65rem .85rem;border-radius:12px;border:1px solid color-mix(in srgb,var(--color-mist) 35%,transparent);background:color-mix(in srgb,#fff 12%,transparent);color:var(--color-mist);font-size:1.25rem;letter-spacing:.2rem;text-align:center}.fhs-screen--mist .fhs-pin-input{background:#fff;color:var(--color-ink);border-color:var(--color-border, #ddd)}.fhs-btn{width:100%;min-height:var(--touch-min);border-radius:14px;border:none;padding:.7rem 1rem;font-weight:600;font:inherit;cursor:pointer}.fhs-btn:disabled{opacity:.55;cursor:not-allowed}.fhs-btn.primary{background:var(--color-moss);color:var(--color-on-moss)}.fhs-btn.secondary{background:transparent;color:var(--color-plum);border:1px solid color-mix(in srgb,var(--color-plum) 40%,transparent)}.fhs-btn.ghost{background:transparent;color:color-mix(in srgb,var(--color-ink) 65%,transparent)}.fhs-btn.on-moss{background:var(--color-trail-gold);color:var(--color-moss)}.fhs-btn.on-moss-secondary{background:transparent;color:var(--color-mist);border:1px solid color-mix(in srgb,var(--color-mist) 45%,transparent)}.fhs-btn.ghost-on-moss{background:transparent;color:color-mix(in srgb,var(--color-mist) 75%,transparent)}.fhs-celebrate .fhs-btn.on-moss{margin-top:.5rem}@media(min-width:1024px){.fhs-body{padding-top:3rem}}.auth-sheet-content{display:flex;flex-direction:column;gap:1rem;padding-bottom:.5rem;color:var(--color-ink);font-family:var(--font-body)}.auth-sheet-content__hero{display:flex;flex-direction:column;align-items:center;gap:.85rem;padding:.35rem 0 .15rem}.auth-sheet-content__pillars{display:flex;align-items:stretch;justify-content:center;gap:.5rem;margin:0;padding:0;list-style:none;width:100%}.auth-sheet-content__pillars li{flex:1;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.55rem .35rem;border-radius:var(--chip-radius);background:color-mix(in srgb,var(--color-mist) 88%,var(--color-moss));border:1px solid var(--color-border);color:var(--color-moss);font-size:var(--text-label);font-weight:600;font-family:var(--font-display)}.auth-sheet-content__msg{margin:0;font-size:var(--text-body);line-height:var(--leading-body);color:var(--color-ink);text-align:center}.auth-sheet-content__actions{display:flex;flex-direction:column;gap:.5rem}.auth-sheet-content__btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-min);padding:.75rem 1.25rem;border-radius:var(--control-radius);font-family:var(--font-display);font-weight:600;font-size:var(--text-body);text-decoration:none!important;text-align:center}a.auth-sheet-content__btn--primary,a.auth-sheet-content__btn--primary:visited,a.auth-sheet-content__btn--primary:hover,a.auth-sheet-content__btn--primary:active,a.auth-sheet-content__btn--primary:focus-visible{background:var(--color-plum)!important;color:var(--color-on-plum)!important;text-decoration:none!important;box-shadow:var(--shadow-float)}a.auth-sheet-content__btn--ghost,a.auth-sheet-content__btn--ghost:visited,a.auth-sheet-content__btn--ghost:hover,a.auth-sheet-content__btn--ghost:active,a.auth-sheet-content__btn--ghost:focus-visible{background:color-mix(in srgb,var(--color-mist) 94%,transparent)!important;color:var(--color-moss)!important;border:1px solid var(--color-border);text-decoration:none!important;box-shadow:none}.auth-sheet-content__note{margin:0;font-size:var(--text-label);color:color-mix(in srgb,var(--color-ink) 55%,transparent);text-align:center}.geo-permission-sheet{padding:.25rem 0 1rem;color:var(--color-ink);font-family:var(--font-body)}.geo-permission-sheet__title{font-family:var(--font-display);font-size:var(--text-sheet-title);color:var(--color-moss);margin:0 0 .5rem}.geo-permission-sheet__body{margin:0 0 1rem;line-height:1.45;color:color-mix(in srgb,var(--color-ink) 80%,transparent)}.geo-permission-sheet__ok{margin:0 0 .75rem;padding:.65rem .75rem;border-radius:var(--control-radius);background:color-mix(in srgb,var(--color-status-friendly) 18%,var(--color-mist));font-weight:600}.geo-permission-sheet__warn,.geo-permission-sheet__error{margin:0 0 .75rem;padding:.65rem .75rem;border-radius:var(--control-radius);background:color-mix(in srgb,var(--color-trail-gold) 22%,var(--color-mist));font-size:var(--text-body)}.geo-permission-sheet__error{background:color-mix(in srgb,#c44 12%,var(--color-mist))}.geo-permission-sheet__actions{display:flex;flex-direction:column;gap:.5rem}.geo-permission-sheet__actions .btn{min-height:var(--touch-min, 44px)}.walk-end-summary-overlay{position:fixed;inset:0;z-index:1400;background:var(--color-overlay);display:flex;align-items:flex-end;justify-content:center}.walk-end-summary-modal{width:100%;max-width:480px;max-height:90vh;overflow:auto;background:var(--color-mist);color:var(--color-ink);border-radius:var(--sheet-radius);padding:1.25rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom,0px));position:relative;font-family:var(--font-body)}.walk-end-summary-close{position:absolute;top:.75rem;right:.75rem;border:none;background:transparent;font-size:1.5rem;min-width:var(--touch-min);min-height:var(--touch-min);color:var(--color-moss);cursor:pointer}#walk-end-summary-title{font-family:var(--font-display);font-size:var(--text-sheet-title);color:var(--color-moss);margin:0 2rem .5rem 0}.walk-end-summary-sub{margin:0 0 1rem;color:color-mix(in srgb,var(--color-ink) 70%,transparent);line-height:1.4}.walk-end-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1.25rem}.walk-end-stat{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.75rem .35rem;border-radius:14px;background:color-mix(in srgb,var(--color-moss) 8%,var(--color-mist));border:1px solid color-mix(in srgb,var(--color-moss) 12%,transparent)}.walk-end-stat strong{font-family:var(--font-display);font-size:1.1rem;color:var(--color-moss)}.walk-end-stat span{font-size:var(--text-label);color:color-mix(in srgb,var(--color-ink) 55%,transparent)}.walk-end-section{margin-bottom:1.15rem}.walk-end-section h3{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.05rem;color:var(--color-moss)}.walk-end-section__body{margin:0;font-size:var(--text-body)}.walk-end-promos{list-style:none;padding:0;margin:0 0 .5rem}.walk-end-promos li{padding:.4rem 0;border-bottom:1px solid var(--color-border, #e5e5e5);font-weight:600}.walk-end-summary-list{list-style:none;padding:0;margin:0}.walk-end-summary-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;padding:.65rem 0;border-bottom:1px solid var(--color-border, #e5e5e5)}.walk-end-summary-row img{width:48px;height:48px;border-radius:50%;object-fit:cover}.walk-end-summary-avatar-fallback{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--color-moss) 30%,var(--color-mist)),var(--color-moss));flex-shrink:0}.walk-end-summary-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.walk-end-summary-meta strong{color:var(--color-moss)}.walk-end-summary-meta span{font-size:var(--text-label);color:color-mix(in srgb,var(--color-ink) 60%,transparent)}.walk-end-summary-row-actions{display:flex;flex-wrap:wrap;gap:.35rem;width:100%}.walk-end-summary-feedback-btn{min-height:36px;padding:.35rem .65rem;border-radius:10px;border:1px solid color-mix(in srgb,var(--color-plum) 30%,transparent);background:transparent;color:var(--color-plum);font-size:var(--text-label);font-weight:600;cursor:pointer}.walk-end-summary-feedback-done{font-size:var(--text-label);color:var(--color-status-friendly, #2d6a4f);font-weight:600}.walk-end-feedback-sheet{margin:.75rem 0;padding:.85rem;border-radius:14px;background:color-mix(in srgb,var(--color-trail-gold) 15%,var(--color-mist))}.walk-end-feedback-sheet h3{margin:0 0 .35rem;font-size:1rem;color:var(--color-moss)}.walk-end-feedback-sheet p{margin:0 0 .65rem;font-size:var(--text-label)}.walk-end-feedback-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.65rem}.walk-end-tag{min-height:36px;padding:.3rem .65rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--color-moss) 20%,transparent);background:#fff;color:var(--color-moss);font-weight:600;font-size:var(--text-label);cursor:pointer}.walk-end-tag.is-selected{background:var(--color-moss);color:var(--color-on-moss)}.walk-end-feedback-actions{display:flex;gap:.5rem}.walk-end-summary-loading,.walk-end-summary-empty{margin:0;font-size:var(--text-body);color:color-mix(in srgb,var(--color-ink) 65%,transparent)}.walk-end-summary-link,.walk-end-summary-carnet{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-min, 44px);padding:.5rem .85rem;border-radius:var(--control-radius, 12px);border:1px solid color-mix(in srgb,var(--color-moss) 25%,transparent);background:color-mix(in srgb,#fff 70%,var(--color-mist));color:var(--color-moss);font-weight:600;font:inherit;text-decoration:none;cursor:pointer}.walk-end-summary-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.walk-end-summary-done{min-height:var(--touch-min, 44px);padding:.5rem .85rem;border-radius:var(--control-radius, 12px);border:none;background:var(--color-moss);color:#fff;font-weight:600;cursor:pointer;font:inherit}@media(min-width:1024px){.walk-end-summary-overlay{align-items:center}.walk-end-summary-modal{border-radius:16px}}.live-map-page--inwoof{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:var(--color-mist);display:flex;flex-direction:column;z-index:1}.live-map-container{--map-fab-size: 52px;--map-search-top: calc(var(--map-fab-size) + 10px);--map-rail-top: calc(var(--map-fab-size) + 3.85rem);--map-dock-bottom: 1.25rem;--map-control-right: 7.5rem;flex:1;position:relative;min-height:0;width:100%;height:100%}.live-map-canvas-root{position:absolute;inset:0;width:100%;height:100%;min-height:0}.live-map__status{position:absolute;top:calc(env(safe-area-inset-top,0px) + 56px);left:50%;transform:translate(-50%);z-index:800;padding:.4rem .85rem;border-radius:var(--chip-radius);background:color-mix(in srgb,var(--color-sky) 92%,transparent);color:var(--color-on-sky);font-size:var(--text-label);font-weight:600;box-shadow:var(--shadow-map-control);pointer-events:none}.live-map__hint{position:absolute;top:calc(env(safe-area-inset-top,0px) + var(--map-rail-top, 7.15rem) + 3.2rem);left:calc(env(safe-area-inset-left,0px) + .75rem);right:calc(env(safe-area-inset-right,0px) + .75rem);z-index:800;padding:.55rem .75rem;border-radius:var(--control-radius);background:color-mix(in srgb,var(--color-trail-gold) 40%,var(--color-mist));color:var(--color-ink);font-size:var(--text-label);text-align:center;box-shadow:var(--shadow-map-control);pointer-events:none}.live-map__walk-confirm{padding:.25rem .25rem 1rem;display:flex;flex-direction:column;gap:1rem}.live-map__walk-confirm p{margin:0;font-size:var(--text-body);line-height:1.45;color:var(--color-ink)}.live-map__walk-confirm-actions{display:flex;flex-direction:column;gap:.5rem}.live-map__walk-confirm-actions .btn{width:100%}.live-map__layers{position:absolute;left:calc(env(safe-area-inset-left,0px) + .75rem);right:calc(env(safe-area-inset-right,0px) + var(--map-control-right, 3.25rem));top:calc(env(safe-area-inset-top,0px) + var(--map-rail-top, 7.15rem));z-index:1003;display:flex;flex-direction:row;flex-wrap:nowrap;gap:.35rem;align-items:center;overflow-x:auto;pointer-events:none}.live-map__layers>*{pointer-events:auto}.live-map__layer-btn{min-height:var(--touch-min);min-width:44px;padding:0 .85rem;border:none;border-radius:999px;background:color-mix(in srgb,var(--color-mist) 92%,transparent);color:var(--color-moss);font-size:var(--text-label);font-weight:600;box-shadow:var(--shadow-map-control);cursor:pointer;white-space:nowrap}.live-map__layer-btn.is-on{background:var(--color-moss);color:var(--color-on-moss)}.live-map__guest-cta{position:absolute;left:calc(env(safe-area-inset-left,0px) + .75rem);right:calc(env(safe-area-inset-right,0px) + .75rem);bottom:calc(env(safe-area-inset-bottom,0px) + 1.25rem);z-index:850;display:flex;flex-direction:column;gap:.5rem;transition:opacity var(--duration-base, .2s) var(--ease-out, ease)}.live-map__recenter{position:absolute;right:calc(env(safe-area-inset-right,0px) + .75rem);bottom:calc(env(safe-area-inset-bottom,0px) + var(--map-dock-bottom, 1.25rem) + 3.75rem);z-index:860;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:1px solid color-mix(in srgb,var(--color-moss) 12%,transparent);border-radius:12px;background:color-mix(in srgb,#fff 72%,var(--color-mist));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--color-moss);box-shadow:var(--shadow-map-control);display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.live-map__recenter:hover:not(:disabled){background:color-mix(in srgb,#fff 85%,var(--color-mist))}.live-map__recenter:disabled,.live-map__recenter[aria-disabled=true]{opacity:.42;cursor:not-allowed;color:color-mix(in srgb,var(--color-moss) 55%,transparent)}.live-map-page.is-sheet-open .live-map__recenter{opacity:0;pointer-events:none}@media(min-width:1024px){.live-map__recenter{bottom:calc(env(safe-area-inset-bottom,0px) + 7rem);right:calc(env(safe-area-inset-right,0px) + 1.25rem)}}.live-map__guest-cta.is-sheet-open,.live-map-page.is-sheet-open .live-map__layers{opacity:0;pointer-events:none}.live-map__guest-cta button.live-map__cta-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--touch-min);width:100%;padding:.75rem 1.25rem;border:none;border-radius:var(--control-radius);background:var(--color-trail-gold);color:var(--color-ink);font-family:var(--font-display);font-weight:700;font-size:var(--text-body);cursor:pointer;box-shadow:var(--shadow-float)}.live-map__guest-cta button.live-map__cta-primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-trail-gold) 88%,var(--color-moss))}.live-map__guest-cta button.live-map__cta-primary svg{flex-shrink:0}.live-map__guest-cta button.live-map__cta-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:var(--touch-min);width:100%;padding:.75rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--control-radius);background:color-mix(in srgb,var(--color-mist) 94%,transparent);color:var(--color-moss);font-family:var(--font-body);font-weight:600;font-size:var(--text-body);cursor:pointer;box-shadow:var(--shadow-map-control)}.live-map__guest-cta button.live-map__cta-secondary:hover:not(:disabled){background:var(--color-mist)}.live-map__error{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);z-index:900;padding:1rem 1.25rem;border-radius:var(--control-radius);background:var(--color-mist);box-shadow:var(--shadow-float);text-align:center;color:var(--color-ink)}.live-map__error button{margin-top:.75rem;min-height:var(--touch-min);padding:0 1rem;border:none;border-radius:var(--control-radius);background:var(--color-moss);color:var(--color-on-moss);font-weight:600;cursor:pointer}.live-map__skeleton{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:var(--color-mist);color:var(--color-moss);font-size:var(--text-body);z-index:50}.live-map__skeleton-pulse{width:min(80%,280px);height:120px;border-radius:16px;background:linear-gradient(110deg,var(--color-mist) 30%,color-mix(in srgb,var(--color-moss) 10%,var(--color-mist)) 45%,var(--color-mist) 60%);background-size:200% 100%;animation:liveMapShimmer 1.4s var(--ease-out) infinite}@keyframes liveMapShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.map-app-shell--guest .live-map__layers{display:none}.layout--slim{min-height:100dvh;background:var(--color-mist);color:var(--color-ink);font-family:var(--font-body)}.layout-slim__actions{display:flex;align-items:center;gap:.25rem}.layout-slim__icon-btn{position:relative;min-width:var(--touch-min);min-height:var(--touch-min);border:none;background:transparent;cursor:pointer;color:var(--color-moss);font-size:1.1rem;border-radius:var(--control-radius)}.layout-slim__badge{position:absolute;top:4px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--color-plum);color:var(--color-on-plum);font-size:10px;font-weight:700;display:grid;place-items:center}.layout-slim__notif-overlay{position:fixed;inset:0;z-index:2000;background:var(--color-overlay);display:flex;justify-content:flex-end}.layout-slim__notif-panel{width:min(100%,380px);height:100%;background:var(--color-mist);box-shadow:var(--shadow-sheet);display:flex;flex-direction:column;padding:calc(env(safe-area-inset-top,0px) + .75rem) 1rem calc(env(safe-area-inset-bottom,0px) + 1rem)}.layout-slim__notif-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.layout-slim__notif-head h2{font-family:var(--font-display);font-size:var(--text-sheet-title);color:var(--color-moss);font-weight:600}.layout-slim__notif-tools{display:flex;gap:.35rem}.layout-slim__notif-tools button{min-height:var(--touch-min);min-width:var(--touch-min);border:none;background:color-mix(in srgb,var(--color-moss) 8%,transparent);color:var(--color-moss);border-radius:var(--chip-radius);padding:0 .65rem;font-size:var(--text-label);font-weight:600;cursor:pointer}.layout-slim__notif-list{flex:1;overflow-y:auto}.layout-slim__empty{color:color-mix(in srgb,var(--color-ink) 55%,transparent);font-size:var(--text-body);padding:1.5rem 0;text-align:center}.layout-slim__logout{margin-top:.75rem;min-height:var(--touch-min);border:1px solid var(--color-border);background:transparent;color:var(--color-moss);border-radius:var(--control-radius);font-weight:600;cursor:pointer}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:linear-gradient(135deg,#f5f7fa,#c3cfe2)}.error-boundary-content{max-width:600px;width:100%;background:#fff;border-radius:16px;padding:3rem;box-shadow:0 10px 40px #0000001a;text-align:center}.error-boundary-icon{font-size:4rem;margin-bottom:1.5rem}.error-boundary-title{font-size:1.75rem;font-weight:700;color:#2d3748;margin-bottom:1rem}.error-boundary-message{font-size:1.125rem;color:#718096;margin-bottom:2rem;line-height:1.6}.error-boundary-details{margin:2rem 0;text-align:left}.error-boundary-details summary{cursor:pointer;padding:1rem;background:#f7fafc;border-radius:8px;font-weight:600;color:#4a5568;margin-bottom:1rem}.error-boundary-details summary:hover{background:#edf2f7}.error-boundary-stack{background:#1a202c;color:#e2e8f0;padding:1.5rem;border-radius:8px;overflow-x:auto;font-size:.875rem;line-height:1.6;font-family:Courier New,monospace;white-space:pre-wrap;word-break:break-word}.error-boundary-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-boundary-button{padding:.75rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.error-boundary-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.error-boundary-button:active{transform:translateY(0)}.error-boundary-button-primary{background:#4299e1;color:#fff}.error-boundary-button-primary:hover{background:#3182ce}.error-boundary-button-secondary{background:#e2e8f0;color:#4a5568}.error-boundary-button-secondary:hover{background:#cbd5e0}@media(max-width:640px){.error-boundary-content{padding:2rem 1.5rem}.error-boundary-title{font-size:1.5rem}.error-boundary-message{font-size:1rem}.error-boundary-actions{flex-direction:column}.error-boundary-button{width:100%}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes bounce-celebration{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-10px) scale(1.1)}50%{transform:translateY(0) scale(1)}75%{transform:translateY(-5px) scale(1.05)}}@keyframes pulse-success{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes pulse-live{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 10px #10b98100}to{box-shadow:0 0 #10b98100}}@keyframes progress-bar{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@keyframes pulse-walking{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.9}}@keyframes float{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(20px,20px) rotate(180deg)}}@keyframes wave{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(20px,20px) rotate(180deg)}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulse-subtle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes rotate-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes dots-loading{0%,20%{opacity:0}50%{opacity:1}to{opacity:0}}.fade-in-up{animation:fadeInUp .6s ease-out}.slide-in-down{animation:slideInDown .5s ease-out}.scale-in{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1)}.slide-in-right{animation:slideInRight .5s ease-out}.celebrate{animation:bounce-celebration .8s ease-out}.success-pulse{animation:pulse-success 2s ease-in-out infinite}.wiggle{animation:wiggle .5s ease-in-out}.error-shake{animation:shake .5s ease-in-out}.live-indicator{animation:pulse-live 2s ease-in-out infinite}.walking-pulse{animation:pulse-walking 2s ease-in-out infinite}.subtle-bounce{animation:bounce-subtle 2s ease-in-out infinite}.subtle-pulse{animation:pulse-subtle 2s ease-in-out infinite}.spinner{animation:spin 1s linear infinite}.skeleton{background:linear-gradient(90deg,#fff0,#fff3,#fff0);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}.fade-in-up-delay-1{animation:fadeInUp .6s ease-out .1s both}.scale-in-delay-1{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1) .1s both}.fade-in-up-delay-2{animation:fadeInUp .6s ease-out .2s both}.scale-in-delay-2{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1) .2s both}.fade-in-up-delay-3{animation:fadeInUp .6s ease-out .3s both}.scale-in-delay-3{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1) .3s both}.fade-in-up-delay-4{animation:fadeInUp .6s ease-out .4s both}.scale-in-delay-4{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1) .4s both}.fade-in-up-delay-5{animation:fadeInUp .6s ease-out .5s both}.scale-in-delay-5{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1) .5s both}.fade-in-up-delay-6{animation:fadeInUp .6s ease-out .6s both}.scale-in-delay-6{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1) .6s both}.fade-in-up-delay-7{animation:fadeInUp .6s ease-out .7s both}.scale-in-delay-7{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1) .7s both}.fade-in-up-delay-8{animation:fadeInUp .6s ease-out .8s both}.scale-in-delay-8{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1) .8s both}.fade-in-up-delay-9{animation:fadeInUp .6s ease-out .9s both}.scale-in-delay-9{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1) .9s both}.fade-in-up-delay-10{animation:fadeInUp .6s ease-out 1s both}.scale-in-delay-10{animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1) 1s both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:767px){.fade-in-up,.slide-in-down,.scale-in{animation-duration:.4s}.float,.wave{animation:none}}.app{min-height:100vh}
