*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sticky{position:sticky}.flex{display:flex}.min-h-screen{min-height:100vh}.resize{resize:both}.items-center{align-items:center}.justify-center{justify-content:center}.text-lg{font-size:1.125rem;line-height:1.75rem}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color-scheme:light;--font-poppins:"Poppins",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;font-family:var(--font-poppins);color:#f6fff7;background:#329c48}.embed-shell,body{display:flex;flex-direction:column}.embed-shell{min-height:100vh;width:100%;background:#0f3019;position:relative}.embed-shell[data-theme=light]{background:#f7faf5;color:#0f3019}.embed-map{flex:1;min-height:70vh}.embed-map .leaflet-container{height:100%;width:100%}.embed-error,.embed-loading{color:#0f3019;background:#fff;border-radius:12px;padding:12px 16px;max-width:420px;margin:24px auto;text-align:center;box-shadow:0 10px 20px rgba(0,0,0,.08)}.embed-shell[data-theme=light] .embed-error,.embed-shell[data-theme=light] .embed-loading{color:#0f3019}.embed-credit{position:absolute;left:12px;bottom:12px;background:rgba(0,0,0,.55);color:#f6fff7;padding:6px 10px;border-radius:10px;font-size:12px;letter-spacing:.02em;backdrop-filter:blur(6px);z-index:5000}.embed-shell[data-theme=light] .embed-credit{background:rgba(0,0,0,.12);color:#0f3019}a{color:inherit}.action-locked,.tooltip-wrapper{position:relative;display:inline-flex}.action-locked[data-tooltip],.tooltip-wrapper[data-tooltip]{z-index:12000}.popup-actions .action-locked,.tooltip-wrapper[data-disabled=true]>:first-child{opacity:.75;filter:grayscale(25%) brightness(.92);cursor:not-allowed}.action-locked[data-disabled=true]{opacity:1;filter:grayscale(45%) brightness(.9);cursor:not-allowed}.action-locked[data-tooltip]:focus-visible:after,.action-locked[data-tooltip]:hover:after,.tooltip-wrapper[data-tooltip]:focus-visible:after,.tooltip-wrapper[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;top:auto;bottom:110%;left:50%;transform:translateX(-50%);background:rgba(5,12,22,.98);color:#f8fff2;padding:8px 12px;border-radius:10px;font-size:.85rem;white-space:nowrap;box-shadow:0 12px 30px rgba(0,0,0,.65),0 0 0 1px rgba(124,255,145,.4);backdrop-filter:blur(4px);z-index:12020;pointer-events:none}.action-locked[data-tooltip]:focus-visible:before,.action-locked[data-tooltip]:hover:before,.tooltip-wrapper[data-tooltip]:focus-visible:before,.tooltip-wrapper[data-tooltip]:hover:before{content:"";position:absolute;bottom:100%;left:50%;transform:translateX(-50%);border:8px solid transparent;border-bottom-color:rgba(5,12,22,.98);z-index:12010;pointer-events:none}.tooltip-wrapper.tooltip-bottom[data-tooltip]:focus-visible:after,.tooltip-wrapper.tooltip-bottom[data-tooltip]:hover:after{top:110%;bottom:auto}.tooltip-wrapper.tooltip-bottom[data-tooltip]:focus-visible:before,.tooltip-wrapper.tooltip-bottom[data-tooltip]:hover:before{top:100%;bottom:auto;border-bottom-color:transparent;border-top-color:rgba(5,12,22,.98)}.topbar{flex:0 0 auto;justify-content:space-between;padding:10px 30px;background:rgba(0,0,0,.15);backdrop-filter:blur(6px);border-bottom:1px solid hsla(0,0%,100%,.1);position:relative;z-index:600}.logo-wrapper,.topbar{display:flex;align-items:center}.logo-wrapper{gap:12px}.logo-wrapper img{height:56px;width:56px;filter:drop-shadow(0 10px 25px rgba(0,0,0,.6))}.site-title{font-size:1.4rem;font-weight:700;letter-spacing:.03em}.site-subtitle{font-size:.8rem;font-weight:300;opacity:.9}.main-menu{display:flex;gap:16px;font-size:.9rem}.main-menu a{text-decoration:none;color:#f6fff7;padding:6px 14px;border-radius:999px;border:1px solid transparent;background:rgba(0,0,0,.15);transition:background .2s,transform .1s,border-color .2s;font-weight:500}.main-menu a:hover{background:rgba(0,0,0,.28);border-color:hsla(0,0%,100%,.3);transform:translateY(-1px)}.topbar-actions{gap:14px}.auth-controls,.topbar-actions{display:flex;align-items:center}.auth-controls{gap:10px}.auth-user{font-size:.85rem;opacity:.9}.user-menu-wrapper{position:relative}.user-chip{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:999px;border:1px solid hsla(0,0%,100%,.35);background:rgba(0,0,0,.15);color:#f6fff7;cursor:pointer;box-shadow:none;transition:background .15s,transform .1s,box-shadow .1s,opacity .1s}.user-chip:hover{background:rgba(0,0,0,.25);transform:translateY(-1px)}.user-chip:active{opacity:.9}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#8ef3a1,#4ac26d);display:grid;place-items:center;color:#06411a;font-weight:800;text-transform:uppercase;overflow:hidden;flex:0 0 auto}.user-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.user-meta{display:flex;flex-direction:column;line-height:1.1;text-align:left}.user-meta .user-label{font-size:.7rem;opacity:.7}.user-meta .user-name{font-size:.9rem;font-weight:700}.user-chevron{font-size:.75rem;opacity:.8}.user-dropdown{position:absolute;right:0;margin-top:6px;background:rgba(0,0,0,.9);border:1px solid hsla(0,0%,100%,.12);border-radius:12px;box-shadow:0 14px 28px rgba(0,0,0,.45);min-width:180px;overflow:hidden;z-index:20}.user-dropdown button{width:100%;padding:10px 12px;background:transparent;color:#f6fff7;border:none;text-align:left;cursor:pointer;font-weight:600}.user-dropdown button:hover{background:hsla(0,0%,100%,.08)}.auth-btn{padding:7px 14px;border-radius:999px;border:1px solid hsla(0,0%,100%,.3);background:#f7ff00;color:#065920;font-weight:700;font-size:.85rem;cursor:pointer;text-decoration:none;transition:background .15s,transform .1s,box-shadow .1s,opacity .1s;box-shadow:0 10px 24px rgba(0,0,0,.45)}.auth-btn:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(0,0,0,.6)}.auth-btn:active{transform:translateY(0);opacity:.9}.auth-btn.ghost{background:rgba(0,0,0,.15);color:#f6fff7;border-color:hsla(0,0%,100%,.35);box-shadow:none}.auth-btn.ghost:hover{background:rgba(0,0,0,.28)}.auth-btn.ghost:active{opacity:.9}.auth-btn.is-disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.layout{flex:1 1 auto;display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px;padding:16px 20px 20px}@media (max-width:900px){.layout{grid-template-columns:1fr}#map,.map-area,.map-wrapper{min-height:380px}.sidebar{order:2}.map-area{order:1}}.sidebar{background:rgba(0,0,0,.18);border-radius:18px;padding:16px 18px 18px;box-shadow:0 18px 35px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:14px}.sidebar h2{margin:0;font-size:1rem;font-weight:600}.sidebar p{margin:0;font-size:.85rem;line-height:1.4;opacity:.9}.sidebar-section{margin-top:8px;padding-top:10px;border-top:1px solid hsla(0,0%,100%,.1)}.sidebar-label{display:block;font-size:.8rem;margin-bottom:4px;opacity:.9}.sidebar-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-label-meta{display:flex;align-items:center;gap:6px}.sidebar-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:rgba(247,255,0,.16);color:#f6fff7;font-size:.75rem;border:1px solid rgba(247,255,0,.3)}.sidebar-count{min-width:36px;text-align:center;padding:4px 8px;border-radius:12px;background:hsla(0,0%,100%,.08);font-weight:700;font-size:.85rem;color:#f6fff7;border:1px solid hsla(0,0%,100%,.12)}.sidebar input,.sidebar select{width:100%;padding:6px 10px;border-radius:999px;border:1px solid hsla(0,0%,100%,.4);background:rgba(0,0,0,.2);color:#f6fff7;font-size:.85rem;outline:none}.sidebar input::-moz-placeholder{color:rgba(246,255,247,.7)}.sidebar input::placeholder{color:rgba(246,255,247,.7)}.sidebar button{margin-top:8px;width:100%;padding:8px 12px;border-radius:999px;border:none;background:#f7ff00;color:#065920;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.07em;cursor:pointer;box-shadow:0 10px 24px rgba(0,0,0,.45);transition:transform .1s,box-shadow .1s,opacity .1s}.sidebar button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(0,0,0,.6)}.sidebar button:active{transform:translateY(0);box-shadow:0 6px 16px rgba(0,0,0,.5);opacity:.9}.sidebar-list{margin-top:6px;max-height:260px;overflow:auto;padding-right:4px}.place-item{padding:8px;border-radius:10px;background:rgba(0,0,0,.22);margin-bottom:6px;font-size:.8rem;cursor:pointer;transition:background .15s,transform .1s}.place-item:hover{background:rgba(0,0,0,.32);transform:translateY(-1px)}.verify-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:40px 16px;background:radial-gradient(circle at 20% 20%,hsla(0,0%,100%,.08),transparent 25%),radial-gradient(circle at 80% 0,hsla(0,0%,100%,.1),transparent 30%),#329c48}.verify-card{width:min(520px,100%);background:rgba(0,0,0,.28);border-radius:18px;padding:24px 22px;box-shadow:0 18px 38px rgba(0,0,0,.35);text-align:center;color:#f6fff7}.verify-card h1{margin:0 0 10px;font-size:1.35rem}.verify-message{margin:12px 0 20px;font-size:1rem}.verify-message.success{color:#b8ffb3}.verify-message.error{color:#ffe3a3}.verify-message.loading{color:#f6fff7}.verify-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:10px}.details-panel{position:absolute;top:16px;right:16px;width:min(560px,94vw);padding:4px;color:#f6fff7;max-height:calc(100% - 32px);overflow-y:auto;z-index:500}.details-shell{background:radial-gradient(circle at 12% 20%,hsla(0,0%,100%,.07),transparent 26%),radial-gradient(circle at 86% 8%,rgba(110,198,255,.09),transparent 30%),rgba(8,12,18,.9);backdrop-filter:blur(12px);border-radius:20px;padding:16px;border:1px solid hsla(0,0%,100%,.09);box-shadow:0 22px 50px rgba(0,0,0,.65)}.details-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.details-title{font-weight:800;font-size:1.25rem;letter-spacing:-.01em}.details-sub{font-size:.95rem;color:#c5cedd;margin-top:4px}.details-actions{display:flex;align-items:center;gap:10px}.details-menu-wrapper{position:relative}.details-menu-toggle{height:34px;padding:0 10px;display:grid;place-items:center;border-radius:15%;border:1px solid hsla(0,0%,100%,.16);background:hsla(0,0%,100%,.08);color:#f6fff7;font-size:.8rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.details-menu-toggle:hover{background:hsla(0,0%,100%,.15);transform:translateY(-1px)}.details-menu{position:absolute;top:40px;right:0;background:rgba(4,8,16,.95);border:1px solid hsla(0,0%,100%,.12);border-radius:12px;box-shadow:0 18px 32px rgba(0,0,0,.45);overflow:hidden;min-width:210px;z-index:20}.details-menu-item{width:100%;text-align:left;padding:10px 12px;background:transparent;color:#f6fff7;border:none;cursor:pointer;font-weight:700;display:flex;align-items:center;gap:10px}.details-menu-item:hover{background:hsla(0,0%,100%,.08)}.details-menu-item.is-active{background:rgba(124,255,145,.12)}.details-menu-item.is-locked{color:rgba(246,255,247,.8)}.details-menu-dot{width:10px;height:10px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#7fff9c,#19a950);box-shadow:0 0 0 4px rgba(124,255,145,.2);flex-shrink:0;display:inline-block}.details-menu-visit .details-menu-copy{gap:3px}.details-menu-check{width:18px;height:18px;border:2px solid rgba(155,245,181,.7);border-radius:6px;display:inline-block;position:relative;flex-shrink:0;transition:all .16s ease;background:hsla(0,0%,100%,.05)}.details-menu-item.is-active .details-menu-check{background:linear-gradient(135deg,#c0ffc5,#7fff9c);border-color:transparent;box-shadow:0 0 0 3px rgba(124,255,145,.2)}.details-menu-item.is-active .details-menu-check:after{content:"";position:absolute;left:5px;top:1px;width:5px;height:9px;border:2px solid #0a2d11;border-left:0;border-top:0;transform:rotate(45deg)}.details-menu-copy{display:flex;flex-direction:column;gap:2px}.details-menu-title{font-weight:700;line-height:1.2}.details-menu-sub{font-weight:500;font-size:.85rem;color:rgba(246,255,247,.8);line-height:1.2}.details-visit-info{background:linear-gradient(135deg,rgba(76,183,104,.15),rgba(22,49,31,.5));border:1px solid rgba(124,255,145,.25);border-radius:12px;padding:10px 12px;color:#e9ffee}.details-visit-title{font-weight:700;margin-bottom:4px}.details-visit-sub{font-size:.92rem;color:rgba(233,255,238,.85)}.details-close{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1px solid hsla(0,0%,100%,.16);background:hsla(0,0%,100%,.08);color:#f6fff7;font-size:1.1rem;line-height:1;cursor:pointer;transition:background .15s ease,transform .15s ease}.details-close:hover{background:hsla(0,0%,100%,.15);transform:translateY(-1px)}.details-body{margin-top:14px;display:flex;flex-direction:column;gap:12px}.details-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 4px}.details-meta-left{display:flex;align-items:center;gap:8px}.details-photo{position:relative;border-radius:14px;overflow:hidden;cursor:pointer;border:1px solid hsla(0,0%,100%,.12);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.03)}.details-main-photo{width:100%;height:auto;aspect-ratio:16/9;background-size:cover;background-position:50%;background-color:#0e131c}.details-photo-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.65));display:flex;align-items:flex-end;justify-content:space-between;padding:14px;pointer-events:none}.details-photo-title{font-size:1.05rem;font-weight:800;text-shadow:0 8px 18px rgba(0,0,0,.8)}.details-photo-meta{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:rgba(0,0,0,.5);border-radius:999px;font-size:.9rem;border:1px solid hsla(0,0%,100%,.15);box-shadow:0 8px 18px rgba(0,0,0,.5)}.details-photo-icon{font-size:1rem}.details-type{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:12px;background:rgba(0,0,0,.5);border:1px solid hsla(0,0%,100%,.12);box-shadow:0 12px 28px rgba(0,0,0,.25);font-weight:700;color:#f6fff7;backdrop-filter:blur(4px);font-size:.85rem}.details-type-dot{width:10px;height:10px;border-radius:50%}.details-type-vegan .details-type-dot{background:#7df893;box-shadow:0 0 0 3px rgba(125,248,147,.22)}.details-type-vegetarian .details-type-dot{background:#ffd76f;box-shadow:0 0 0 3px rgba(255,215,111,.22)}.details-type-friendly .details-type-dot{background:#7bcfff;box-shadow:0 0 0 3px rgba(123,207,255,.22)}.details-socials{display:flex;align-items:center;gap:8px}.details-social-link{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);box-shadow:0 10px 22px rgba(0,0,0,.35);transition:transform .15s ease,border-color .15s ease,background .15s ease}.details-social-link:hover{transform:translateY(-1px);border-color:rgba(124,255,145,.4);background:rgba(124,255,145,.08)}.details-social-icon{width:18px;height:18px;-o-object-fit:contain;object-fit:contain}.details-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.details-thumb{flex:0 0 72px;height:56px;border-radius:10px;background-size:cover;background-position:50%;border:1px solid hsla(0,0%,100%,.12);opacity:.8;transition:opacity .15s ease,border-color .15s ease,transform .15s ease}.details-thumb.is-active,.details-thumb:hover{opacity:1;border-color:rgba(124,255,145,.5);transform:translateY(-1px)}.details-tags{display:flex;flex-wrap:wrap;gap:8px;min-height:8px}.details-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.05);color:#eaf3fb;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06)}.details-tag-vegan{color:#7cff91;border-color:rgba(124,255,145,.5);box-shadow:0 0 0 1px rgba(124,255,145,.15),inset 0 1px 0 hsla(0,0%,100%,.08)}.details-tag-friendly{color:#f2d36c;border-color:hsla(46,84%,69%,.4);background:linear-gradient(135deg,hsla(46,84%,69%,.14),hsla(46,84%,69%,.04))}.details-tag-ghost{color:#dce3f1;border-color:hsla(0,0%,100%,.2);background:hsla(0,0%,100%,.04)}.details-tag-premium{color:#cbd9ff;border-color:rgba(203,217,255,.32);background:linear-gradient(135deg,rgba(86,108,170,.2),rgba(18,25,41,.4))}.details-info{font-size:.95rem;color:#f7ff9d}.details-error{font-size:.95rem;color:#ffbdbd}.details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.details-block{background:linear-gradient(180deg,hsla(0,0%,100%,.05),hsla(0,0%,100%,.02));border-radius:12px;padding:12px;border:1px solid hsla(0,0%,100%,.08);box-shadow:0 10px 28px rgba(0,0,0,.4);transition:border-color .18s ease,box-shadow .18s ease}.details-block:hover{border-color:rgba(124,255,145,.35);box-shadow:0 0 0 1px rgba(124,255,145,.12),0 12px 30px rgba(0,0,0,.45)}.details-block-accent{border-color:inherit;box-shadow:inherit}.details-block-wide{grid-column:1/-1}.details-label{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#cbd4e3;opacity:.78;margin-bottom:6px}.details-value{font-size:1rem;color:#f7fbff;line-height:1.45}.details-prewrap{white-space:pre-line}.details-link{color:#f7fbff;text-decoration:none;font-weight:800;word-break:break-word}.details-link:hover{color:#b9ffd0;text-decoration:underline}.details-cta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border:1px dashed rgba(124,255,145,.4);border-radius:12px;background:rgba(124,255,145,.04)}.details-suggest-btn{background:linear-gradient(135deg,#7cff91,#59c16a);color:#06100c;border:none;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;box-shadow:0 10px 26px rgba(89,193,106,.45);transition:transform .15s ease,box-shadow .15s ease}.details-suggest-btn:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(89,193,106,.6)}.details-suggest-btn.is-disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.details-fallback{display:grid;gap:8px;padding:16px;border-radius:14px;background:hsla(0,0%,100%,.03);border:1px dashed hsla(0,0%,100%,.12);text-align:left;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.03)}.details-fallback-icon{font-size:1.4rem}.details-fallback-text{font-weight:700;color:#f3f7ff}.details-fallback-sub{color:#cbd4e3;font-size:.95rem}.details-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.7);display:grid;place-items:center;z-index:1000}.details-lightbox-inner{position:relative;width:min(960px,92vw);height:min(80vh,640px);background:rgba(0,0,0,.65);border:1px solid hsla(0,0%,100%,.15);border-radius:14px;box-shadow:0 24px 50px rgba(0,0,0,.65);overflow:hidden}.details-lightbox-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:1px solid hsla(0,0%,100%,.2);background:rgba(0,0,0,.45);color:#f6fff7;font-size:1.2rem;cursor:pointer;z-index:2}.details-lightbox-image{width:100%;height:100%;background-size:cover;background-position:50%}.details-lightbox-nav{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;padding:0 12px;pointer-events:none}.details-lightbox-nav button{pointer-events:all;width:42px;height:42px;border-radius:50%;border:1px solid hsla(0,0%,100%,.25);background:rgba(0,0,0,.55);color:#f6fff7;font-size:1.4rem;cursor:pointer}.user-callout{margin-top:8px;padding:12px;border-radius:12px;border:1px dashed rgba(247,255,0,.35);background:rgba(247,255,0,.06);display:flex;align-items:center;justify-content:space-between;gap:10px}.user-callout-title{font-weight:800;margin-bottom:2px}.user-callout-sub{color:#d5dfef;font-size:.9rem}.user-interactions{margin-top:10px;padding:12px;border-radius:14px;border:1px solid hsla(0,0%,100%,.12);background:linear-gradient(150deg,hsla(0,0%,100%,.05),rgba(0,0,0,.2));box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.05);display:grid;gap:10px}.user-interactions-head{font-weight:800;letter-spacing:.02em}.user-actions-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.icon-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid hsla(0,0%,100%,.15);background:hsla(0,0%,100%,.06);color:#f6fff7;cursor:pointer;transition:transform .12s ease,border-color .12s ease,background .12s ease;font-weight:700}.icon-btn:hover{transform:translateY(-1px);border-color:rgba(124,255,145,.45)}.icon-btn:disabled{opacity:.7;cursor:not-allowed}.icon-btn.is-active{background:rgba(124,255,145,.12);border-color:rgba(124,255,145,.5)}.icon-btn-icon{font-size:1rem}.user-rating{border-radius:12px;border:1px solid hsla(0,0%,100%,.08);background:rgba(0,0,0,.18)}.user-rating-toggle{width:100%;background:transparent;color:#f6fff7;border:none;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:700}.user-rating-body{padding:0 12px 12px;display:grid;gap:8px}.rating-stars{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.star-btn{background:transparent;border:none;font-size:1.4rem;color:#9fb4d1;cursor:pointer;padding:2px}.star-btn.is-active{color:#ffd76f;text-shadow:0 4px 10px rgba(0,0,0,.45)}.star-btn:disabled{opacity:.6;cursor:not-allowed}.rating-value{font-size:.95rem;color:#dbe5f7}.review-label{font-size:.9rem;color:#dbe5f7}.review-textarea{width:100%;border-radius:10px;border:1px solid hsla(0,0%,100%,.14);background:rgba(0,0,0,.22);color:#f6fff7;padding:10px;resize:vertical;min-height:60px}.review-textarea:disabled{opacity:.7}.review-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.review-status{padding:6px 10px;border-radius:999px;font-size:.82rem;background:rgba(124,255,145,.12);border:1px solid rgba(124,255,145,.4);color:#d9ffe3}@media (min-width:900px){.details-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}}@media (max-width:900px){.details-panel{position:fixed;inset:auto 12px 12px 12px;top:auto;width:auto;max-height:70vh}.details-shell{padding:14px}.details-cta{flex-direction:column;align-items:flex-start}}.place-name{font-weight:600;margin-bottom:2px}.place-tags{font-size:.7rem;opacity:.85}.map-wrapper{position:relative;display:flex;flex-direction:column;flex:1;border-radius:22px;overflow:hidden;box-shadow:0 24px 45px rgba(0,0,0,.6);background:rgba(0,0,0,.25);min-height:520px}#map{width:100%;height:100%}#map,.map-area{min-height:520px}.map-area{position:relative;flex:1;border-radius:18px;overflow:hidden;box-shadow:0 18px 35px rgba(0,0,0,.35)}.map-badge{position:absolute;top:14px;right:14px;background:rgba(0,0,0,.7);color:#f6fff7;padding:6px 12px;border-radius:999px;font-size:.75rem;display:flex;align-items:center;gap:6px;z-index:450}.map-badge-dot{width:8px;height:8px;border-radius:50%;background:#f7ff00}.my-places-overlay{position:absolute;top:10px;left:50px;z-index:460;min-width:240px;padding:12px 14px;border-radius:16px;backdrop-filter:blur(14px);background:linear-gradient(135deg,rgba(0,0,0,.72),rgba(0,51,22,.7));border:1px solid rgba(247,255,0,.35);box-shadow:0 18px 36px rgba(0,0,0,.45);color:#f6fff7;display:flex;flex-direction:column;gap:8px}.my-places-header{font-weight:700;letter-spacing:.02em;font-size:.92rem}.my-places-switch{display:flex;align-items:center;gap:8px;font-size:.85rem}.my-places-switch input{accent-color:#f7ff00;width:18px;height:18px}.my-places-pills{display:flex;gap:8px;flex-wrap:wrap}.my-places-pills.is-hidden{visibility:hidden;opacity:0;max-height:0;pointer-events:none}.my-places-pill{border:1px solid rgba(247,255,0,.35);background:hsla(0,0%,100%,.06);color:#f6fff7;padding:6px 10px;border-radius:999px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer;transition:background .2s,border-color .2s,transform .1s}.my-places-pill:hover{transform:translateY(-1px);border-color:rgba(247,255,0,.6)}.my-places-pill.is-active{background:rgba(247,255,0,.18);border-color:rgba(247,255,0,.85);color:#f7ff00}.my-places-footer{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.my-places-clear{display:none;background:transparent;color:#f7ff00;border:1px solid rgba(247,255,0,.7);border-radius:999px;padding:4px 10px;font-weight:700;font-size:.82rem;cursor:pointer;transition:background .2s,color .2s}.my-places-clear:hover{background:rgba(247,255,0,.15)}.my-places-hint{font-size:.78rem;opacity:.85}.place-tooltip{background:rgba(0,0,0,.92);color:#f6fff7;border:1px solid rgba(247,255,0,.6);border-radius:8px;padding:4px 8px;font-weight:600;box-shadow:0 10px 20px rgba(0,0,0,.45)}.place-tooltip.leaflet-tooltip-top:before{border-top-color:rgba(0,0,0,.92)}.place-popup .leaflet-popup-content-wrapper{background:rgba(0,0,0,.9);color:#f6fff7;border-radius:16px;box-shadow:0 18px 35px rgba(0,0,0,.7);border:1px solid rgba(247,255,0,.7);padding:10px 12px;overflow:visible}.place-popup .leaflet-popup-tip{background:rgba(0,0,0,.9);border-top-color:rgba(247,255,0,.7)}.place-popup .leaflet-popup-content{margin:4px 6px;padding:0;overflow:visible}.popup-description{font-size:.85rem;line-height:1.35;margin-top:6px;color:#f6fff7;background:rgba(0,0,0,.2);padding:6px 8px;border-radius:10px}.popup-image{width:100%;min-width:200px;height:140px;border-radius:12px;background-size:cover;background-position:50%;margin-bottom:8px}.place-popup .popup-title{font-size:.95rem;font-weight:600;margin-bottom:4px;letter-spacing:.02em}.place-popup .popup-desc{font-size:.8rem;line-height:1.4;opacity:.9}.popup-actions{margin-top:8px;display:grid;gap:6px}.popup-add-photo{width:100%;border:none;border-radius:10px;padding:8px 10px;background:linear-gradient(135deg,#f7ff00,#ffd54f);color:#064320;font-weight:700;cursor:pointer;box-shadow:0 10px 18px rgba(0,0,0,.45);transition:transform .1s,box-shadow .1s,opacity .1s}.popup-add-photo:hover{transform:translateY(-1px);box-shadow:0 12px 22px rgba(0,0,0,.6)}.popup-add-photo:active{transform:translateY(0);box-shadow:0 6px 14px rgba(0,0,0,.5);opacity:.9}.popup-add-photo.action-locked{box-shadow:none}.popup-suggest-change{width:100%;border:1px solid rgba(247,255,0,.8);border-radius:10px;padding:7px 10px;background:rgba(0,0,0,.35);color:#f7ff00;font-weight:700;cursor:pointer;transition:transform .1s,box-shadow .1s,opacity .1s,background .1s}.popup-suggest-change:hover{transform:translateY(-1px);box-shadow:0 10px 16px rgba(0,0,0,.35);background:rgba(0,0,0,.55)}.popup-suggest-change:active{transform:translateY(0);opacity:.9}.popup-suggest-change.action-locked{box-shadow:none}.popup-details{width:100%;border:none;border-radius:10px;padding:8px 10px;background:linear-gradient(135deg,#0b2f16,#0f4d22);color:#f6fff7;font-weight:700;cursor:pointer;transition:transform .1s,box-shadow .1s,opacity .1s;box-shadow:0 10px 18px rgba(0,0,0,.45)}.popup-details:hover{transform:translateY(-1px);box-shadow:0 12px 22px rgba(0,0,0,.6)}.popup-details:active{transform:translateY(0);opacity:.9}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;z-index:9999;overflow-y:auto}.modal-card{width:min(960px,100%);background:linear-gradient(160deg,rgba(0,0,0,.92),rgba(0,0,0,.85));border:1px solid rgba(247,255,0,.35);border-radius:16px;box-shadow:0 24px 48px rgba(0,0,0,.6);padding:14px 16px 16px;color:#f6fff7;max-height:calc(100vh - 32px);overflow:visible}.modal-header{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start}.modal-pill{width:36px;height:36px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#042c12}.modal-pill-success{background:linear-gradient(140deg,#d9ff6c,#99ff86)}.modal-pill-error{background:linear-gradient(140deg,#ff9f68,#ff5c5c)}.modal-pill-info{background:linear-gradient(140deg,#a2d9ff,#7bcfff)}.modal-title{font-size:1rem;font-weight:700}.modal-desc{margin-top:4px;font-size:.9rem;opacity:.85;line-height:1.45}.modal-close{border:none;background:hsla(0,0%,100%,.08);color:#f6fff7;border-radius:10px;width:36px;height:36px;cursor:pointer;font-size:1rem}.modal-body{margin-top:12px;max-height:calc(80vh - 140px);overflow-y:auto;padding-right:4px}.modal-actions{margin-top:14px;display:flex;justify-content:flex-end;gap:8px}.modal-btn{padding:8px 14px;border-radius:12px;border:none;background:linear-gradient(135deg,#f7ff00,#ffd54f);color:#064320;font-weight:700;cursor:pointer;box-shadow:0 12px 22px rgba(0,0,0,.5)}.modal-btn.ghost{background:hsla(0,0%,100%,.08);color:#f6fff7;border:1px solid hsla(0,0%,100%,.15);box-shadow:none}.modal-form{gap:10px}.modal-form,.modal-label{display:flex;flex-direction:column}.modal-label{gap:6px;font-size:.9rem;font-weight:600}.modal-input{width:100%;padding:8px 10px;border-radius:10px;border:1px solid hsla(0,0%,100%,.18);background:hsla(0,0%,100%,.06);color:#f6fff7;outline:none;font-size:.9rem}.modal-input::-moz-placeholder{color:hsla(0,0%,100%,.65)}.modal-input::placeholder{color:hsla(0,0%,100%,.65)}.modal-input option{background:#0f1c14;color:#f6fff7}.modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.mobile-filters select option,.sidebar select option{background:#0f1c14;color:#f6fff7}.modal-hint{font-size:.8rem;opacity:.8;margin-top:2px}.location-row{display:flex;gap:8px;align-items:center}.location-pill{padding:8px 10px;border-radius:10px;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.15);font-size:.85rem}.modal-actions-form{padding-top:4px}.modal-error{padding:8px 10px;border-radius:10px;background:rgba(255,92,92,.15);border:1px solid rgba(255,92,92,.3);color:#ffb3b3;font-weight:600}.modal-split{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:stretch}.modal-col{min-width:0}.modal-map-col{display:flex;flex-direction:column;gap:6px}.modal-map{width:100%;height:100%;min-height:360px;border-radius:14px;overflow:hidden;border:1px solid hsla(0,0%,100%,.2)}@media (max-width:840px){.modal-split{grid-template-columns:1fr}.modal-map{min-height:260px}}.place-popup .leaflet-popup-close-button{color:#f6fff7}.mobile-filters{display:none;position:relative;z-index:500;padding:8px 10px 6px;background:rgba(0,0,0,.55);border-bottom:1px solid hsla(0,0%,100%,.12);flex-direction:column;gap:6px}.mobile-filters-row{display:flex;gap:6px}.mobile-filters input,.mobile-filters select{flex:1;padding:3px 5px;border-radius:999px;border:1px solid hsla(0,0%,100%,.4);background:rgba(0,0,0,.25);color:#f6fff7;font-size:.8rem;outline:none}.mobile-filters input::-moz-placeholder{color:rgba(246,255,247,.75)}.mobile-filters input::placeholder{color:rgba(246,255,247,.75)}.mobile-filters select{flex:0 0 40%;display:none}.mobile-filters-btn{display:none;align-self:flex-end;padding:6px 14px;border-radius:999px;border:none;background:#f7ff00;color:#065920;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.5)}.status-strip{visibility:hidden;position:absolute;left:50px;top:14px;display:flex;gap:10px;align-items:center;padding:6px 12px;background:rgba(0,0,0,.55);border-radius:999px;font-size:.78rem;z-index:500}.status-pill{padding:4px 8px;border-radius:999px;background:hsla(0,0%,100%,.14);border:1px solid hsla(0,0%,100%,.2)}.map-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px 0;gap:12px}.map-header h3{margin:0;font-size:1rem;font-weight:700}.map-header p{margin:0;opacity:.85;font-size:.85rem}.map-header small{color:#e8f8ea;opacity:.8}.cta-row{display:flex;gap:8px}.cta-row.status-inline{align-items:center;gap:10px}.cta-row a,.cta-row button{padding:7px 12px;border-radius:999px;border:1px solid hsla(0,0%,100%,.2);background:rgba(0,0,0,.2);color:#f6fff7;text-decoration:none;font-size:.85rem;cursor:pointer}.cta-row a:hover,.cta-row button:hover{background:rgba(0,0,0,.35)}@media (min-width:901px){.layout{flex:1 1 auto;min-height:0}.map-wrapper{display:flex;flex-direction:column;height:100%}#map{flex:1;height:100%;min-height:520px}}@media (max-width:900px){.layout{grid-template-columns:1fr;grid-template-rows:auto auto;padding:10px}.sidebar{display:none}.map-wrapper{order:1;min-height:380px}.my-places-overlay{top:auto;bottom:20px;left:10px;right:10px;min-width:auto}.my-places-pill{padding:2px 4px}.my-places-clear{display:none}.topbar{flex-direction:column;align-items:flex-start;gap:10px;padding:10px 16px}.main-menu{width:100%;justify-content:flex-start;flex-wrap:wrap}.mobile-filters{display:flex}#map{height:100%;min-height:380px}}.placeholder{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#329c48}.placeholder-logo{max-width:90vw;max-height:90vh;filter:drop-shadow(0 10px 25px rgba(0,0,0,.6))}