@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap');
:root{--ink:#15261f;--muted:#78847d;--green:#356b50;--bright:#7dc999;--paper:#f7f8f4;--line:#e9ece7;--orange:#e68a48}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px}.topbar{height:72px;background:#10251e;color:#f4f6f0;display:flex;align-items:center;justify-content:space-between;padding:0 4.4%;position:relative;z-index:500}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-size:20px;font-weight:700;letter-spacing:-.8px}.brand-light{color:#a3b7a9;font-weight:400}.brand-mark{width:28px;height:28px;border:1px solid #73937e;border-radius:50%;display:grid;place-items:center;color:#9ad2a9;font-size:18px}.top-note{font-size:12px;color:#c4d0c7;display:flex;align-items:center;gap:8px}.live-dot{width:7px;height:7px;background:#85d79a;border-radius:50%;box-shadow:0 0 0 4px #85d79a20}.add-button,.submit-button{border:0;background:#80c998;color:#11271d;font:600 13px 'DM Sans',sans-serif;padding:11px 16px;border-radius:8px;cursor:pointer}.add-button span{font-size:17px;vertical-align:-1px;margin-right:3px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;max-width:1600px;margin:auto;min-height:calc(100vh - 72px)}.map-area{padding:34px 36px 20px 4.4%;display:flex;flex-direction:column;min-height:calc(100vh - 72px)}.map-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:0 0 22px}.eyebrow{display:block;font-weight:700;font-size:9px;letter-spacing:1.5px;color:#88938b}.map-heading h1{font:600 31px 'Playfair Display',serif;letter-spacing:-.4px;margin:7px 0 0}.map-heading h1 em{color:var(--green)}.map-counter{text-align:right;padding-bottom:2px}.map-counter strong{font:600 23px 'Playfair Display',serif;display:block}.map-counter span{font-size:10px;color:var(--muted)}.map-frame{height:min(69vh,700px);min-height:410px;flex:1;position:relative;background:#e3ebe3;border-radius:12px;overflow:hidden;border:1px solid #e1e7df;box-shadow:0 7px 22px #1f35200b}.map-frame #map{height:100%;width:100%;z-index:0}.leaflet-container{font:12px 'DM Sans',sans-serif}.leaflet-tile{filter:saturate(.72) contrast(.97)}.map-hint{position:absolute;left:15px;bottom:15px;z-index:400;background:#fff;padding:9px 12px;border-radius:7px;box-shadow:0 2px 10px #172a1920;color:#66766b;font-size:11px;display:flex;align-items:center;gap:8px;pointer-events:none}.pin-icon{font-size:10px;color:var(--orange)}.map-foot{display:flex;justify-content:space-between;align-items:center;padding-top:12px;color:#8b958e;font-size:10px}.text-button{border:0;background:none;font:500 11px 'DM Sans';color:var(--green);cursor:pointer}.sidebar{background:#fff;border-left:1px solid var(--line);padding:36px 26px 20px;display:flex;flex-direction:column;min-height:calc(100vh - 72px)}.sidebar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.sidebar-top h2,.dialog-head h2{font:600 22px 'Playfair Display',serif;margin:5px 0 0}.icon-button{width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#67776b;font-size:18px;cursor:pointer}.icon-button:hover,.outline-button:hover{border-color:#9cb4a0}.feed{display:flex;flex-direction:column;gap:12px;overflow:auto;max-height:calc(100vh - 250px)}.catch-card{border:1px solid var(--line);border-radius:10px;padding:12px;display:grid;grid-template-columns:64px 1fr;gap:12px;cursor:pointer;transition:border .2s,transform .2s}.catch-card:hover{border-color:#b6cbbb;transform:translateY(-1px)}.catch-photo,.catch-placeholder{width:64px;height:68px;border-radius:7px;object-fit:cover;background:#edf3ed}.catch-placeholder{display:grid;place-items:center;font-size:24px;color:#83aa8b}.catch-info{min-width:0}.catch-title{font:600 16px 'Playfair Display',serif;margin:1px 0 3px}.catch-meta{font-size:10px;color:#859088}.catch-note{font-size:11px;color:#536359;line-height:1.45;margin:9px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.catch-location{font-size:10px;color:var(--green);margin-top:7px}.empty-state{text-align:center;margin:auto 0;padding:28px 16px 40px}.empty-icon{color:#8db198;font-size:39px}.empty-state h3{font:600 18px 'Playfair Display';margin:8px 0}.empty-state p{max-width:220px;margin:0 auto 19px;color:#7c8880;font-size:11px;line-height:1.6}.outline-button{background:#fff;border:1px solid #dfe6df;color:#365c43;border-radius:7px;padding:9px 12px;font:600 11px 'DM Sans';cursor:pointer}.outline-button span{margin-left:10px}.sidebar-bottom{border-top:1px solid var(--line);padding-top:14px;display:flex;gap:9px;align-items:flex-start;margin-top:auto;color:#828d85}.sidebar-bottom p{font-size:10px;line-height:1.55;margin:0}.info-icon{flex:none;border:1px solid #a2afa5;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;font:600 9px 'DM Sans'}.modal-backdrop{position:fixed;inset:0;background:#13231dbb;z-index:1000;display:grid;place-items:center;padding:16px;overflow:auto}.modal-backdrop[hidden]{display:none}.dialog{background:#fff;width:min(100%,475px);border-radius:13px;padding:25px 27px;box-shadow:0 22px 70px #07150d55;max-height:calc(100dvh - 32px);overflow:auto}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.dialog-head h2{font-size:24px}.close-button{font-size:22px}.field-label{font-size:11px;font-weight:600;display:block;margin:15px 0 7px}.field-label>span{color:#ce6446}.field-label small{float:right;font-size:8px;letter-spacing:.8px;color:#9ca69e;font-weight:600}input:not([type=file]),textarea{width:100%;border:1px solid #e1e7e1;border-radius:7px;padding:11px 12px;font:12px 'DM Sans';color:var(--ink);background:#fff;outline:none}input:focus,textarea:focus{border-color:#84b290;box-shadow:0 0 0 3px #84b29020}textarea{resize:vertical;min-height:65px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{min-width:0}.location-row{display:flex;align-items:center;gap:12px}.location-row span{font-size:10px;color:#7f8d82}.location-button{flex:none}.upload-box{display:flex;align-items:center;gap:11px;padding:12px;border:1px dashed #d7e0d6;border-radius:8px;cursor:pointer}.upload-icon{width:32px;height:32px;background:#edf4ee;border-radius:6px;display:grid;place-items:center;color:#588361;font-size:19px}.upload-box strong,.upload-box small{display:block}.upload-box strong{font-size:11px;font-weight:600}.upload-box small{font-size:9px;color:#8c978f;margin-top:3px}.upload-action{margin-left:auto;color:var(--green);font-size:10px;font-weight:600}.visually-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.form-error{min-height:15px;color:#b44832;font-size:10px;margin-top:8px}.submit-button{width:100%;font-size:12px;padding:13px}.submit-button span{float:right;font-size:16px;line-height:12px}.submit-button:disabled{opacity:.6;cursor:wait}.privacy-note{text-align:center;color:#879289;font-size:9px;line-height:1.5;margin:10px 8px 0}.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);background:#183629;color:#fff;border-radius:8px;padding:11px 16px;font-size:12px;opacity:0;transition:.2s;z-index:1200;pointer-events:none}.toast.visible{opacity:1;transform:translate(-50%,0)}.custom-marker{background:var(--green);border:2px solid white;border-radius:50% 50% 50% 0;width:25px;height:25px;transform:rotate(-45deg);box-shadow:0 2px 8px #1b3c25aa}.custom-marker span{display:block;width:7px;height:7px;background:#fff;border-radius:50%;position:absolute;left:7px;top:7px}.selection-marker{background:var(--orange)}@media(max-width:850px){.layout{grid-template-columns:minmax(0,1fr) 320px}.map-area{padding-left:24px;padding-right:24px}.sidebar{padding:30px 20px}.map-heading h1{font-size:27px}}@media(max-width:680px){.topbar{height:62px;padding:0 16px}.top-note{display:none}.brand{font-size:18px}.add-button{font-size:11px;padding:9px 11px}.layout{display:flex;flex-direction:column;min-height:calc(100dvh - 62px)}.map-area{padding:24px 14px 12px;min-height:unset}.map-heading{padding-bottom:14px}.map-heading h1{font-size:25px}.map-frame{height:48vh;min-height:330px;flex:none}.sidebar{border-left:0;border-top:1px solid var(--line);padding:24px 15px 16px;min-height:420px}.feed{max-height:none}.sidebar-bottom{margin-top:22px}.empty-state{padding:24px 16px 30px}.dialog{padding:21px 18px}.map-foot{font-size:9px}}@media(max-width:360px){.map-heading h1{font-size:22px}.form-row{grid-template-columns:1fr}.field:nth-child(2){grid-column:1}}
