:root{--ink:#16323a;--ink-soft:#5c7477;--paper:#f4f7f6;--card:#fff;--line:rgba(22,50,58,.14);--accent:#e8734a;--accent-deep:#d25e36;--accent-soft:#fbe0d4;--teal:#2fc0a6;--st-dropped:#8fa888;--st-noanswer:#8a9296;--st-interested:#2fc0a6;--st-dns:#c0392b}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:linear-gradient(rgba(244,247,246,.86),rgba(244,247,246,.9)),url(/landing-bg.png);background-size:cover;background-position:50%;background-repeat:no-repeat;background-attachment:fixed}#header{position:relative;flex-shrink:0;z-index:1000;background:linear-gradient(135deg,#122a31,#1f4a4e 55%,#16414a);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 16px 15px;box-shadow:0 4px 16px rgba(0,0,0,.28);border-bottom:2px solid transparent;border-image:linear-gradient(90deg,var(--accent),var(--teal)) 1}#header:before{content:"";position:absolute;top:-60%;left:-10%;width:260px;height:260px;background:radial-gradient(circle,rgba(232,115,74,.22) 0,transparent 70%);pointer-events:none}#brand{display:flex;align-items:center;gap:10px;position:relative;z-index:1}#brand img{box-shadow:0 0 0 2px hsla(0,0%,100%,.18),0 0 12px rgba(232,115,74,.35)}#brand .dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px rgba(232,115,74,.6)}#brand .name{font-weight:700;font-size:17px;letter-spacing:.4px;text-shadow:0 1px 3px rgba(0,0,0,.3)}#brand .sub{font-size:11px;color:#b9cbcc;letter-spacing:.2px}.headerRight{display:flex;align-items:center;gap:10px;font-size:12px;position:relative;z-index:1}.headerRight button{background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.16);color:#fff;padding:7px 12px;border-radius:8px;font-size:12px;cursor:pointer;transition:background .15s}.headerRight button:hover{background:hsla(0,0%,100%,.2)}.headerRight a{color:var(--accent);font-weight:600;text-decoration:none}.headerRight a:hover{text-decoration:underline}.leaderboardLink{display:flex;align-items:center;gap:5px;background:linear-gradient(135deg,var(--accent),var(--accent-deep));color:#fff!important;font-weight:700!important;font-size:12px;padding:7px 12px;border-radius:20px;text-decoration:none!important;box-shadow:0 3px 10px rgba(232,115,74,.45);transition:transform .12s,box-shadow .12s}.leaderboardLink:hover{box-shadow:0 5px 14px rgba(232,115,74,.55);transform:translateY(-1px)}.leaderboardLink svg{flex-shrink:0}.userMenu{position:relative}.userMenu>button{background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.16);color:#fff;width:32px;height:32px;padding:0;border-radius:50%;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center}.userMenu>button:hover{background:hsla(0,0%,100%,.2)}.userMenuPanel{position:absolute;top:calc(100% + 6px);right:0;z-index:1100;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:10px;box-shadow:0 6px 20px rgba(22,50,58,.22);min-width:150px;overflow:hidden}.userMenuPanel a,.userMenuPanel button{display:block;width:100%;text-align:left;background:none;border:none;padding:10px 14px;font-size:13px;color:var(--ink);cursor:pointer;text-decoration:none}.userMenuPanel a:hover,.userMenuPanel button:hover{background:var(--paper)}.authWrap,.landingWrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.landingWrap{position:relative}.authCard{background:var(--card);border-radius:16px;padding:30px 28px;width:100%;max-width:360px;box-shadow:0 10px 30px rgba(22,50,58,.12);border:1px solid var(--line)}.authLogo{display:block;width:56px;height:56px;border-radius:14px;object-fit:cover;margin:0 auto 14px;box-shadow:0 4px 12px rgba(22,50,58,.2)}.authCard h1{font-weight:700;font-size:21px;margin:0 0 4px;text-align:center;color:var(--ink)}.authCard p.sub{font-size:13px;color:var(--ink-soft);margin:0 0 22px;text-align:center}.authCard input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;font-size:14px;margin-bottom:10px;background:var(--paper);color:var(--ink);transition:border-color .15s,box-shadow .15s}.authCard input:focus{outline:none;border-color:var(--accent-deep);box-shadow:0 0 0 3px rgba(232,115,74,.15)}.authCard button.primary{width:100%;background:var(--accent);color:#fff;border:none;border-radius:9px;padding:12px;font-size:14px;font-weight:700;letter-spacing:.2px;cursor:pointer;margin-top:6px;box-shadow:0 3px 10px rgba(232,115,74,.35);transition:transform .12s,box-shadow .12s}.authCard button.primary:hover{box-shadow:0 5px 14px rgba(232,115,74,.45)}.authCard button.primary:active{transform:scale(.98)}.authCard button.primary:disabled{opacity:.6;cursor:default}.authCard .toggle{text-align:center;font-size:12px;color:var(--ink-soft);margin-top:16px;cursor:pointer}.authCard .toggle:hover{color:var(--ink)}.authCard .error{color:var(--st-dns);font-size:12px;margin:-2px 0 10px}#map{position:absolute;inset:0}#map .leaflet-bottom.leaflet-left{margin-bottom:26px;margin-left:10px}#locateBtn{position:absolute;right:16px;bottom:22px;z-index:900;width:42px;height:42px;border-radius:50%;background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:0 2px 8px rgba(22,50,58,.22);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s,box-shadow .12s}#locateBtn:hover{box-shadow:0 4px 12px rgba(22,50,58,.28)}#locateBtn:active{transform:scale(.94)}#layersBtn{position:absolute;top:14px;right:16px;z-index:900;width:42px;height:42px;border-radius:12px;background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:0 2px 8px rgba(22,50,58,.22);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s,box-shadow .12s}#layersBtn:hover{box-shadow:0 4px 12px rgba(22,50,58,.28)}#layersBtn:active{transform:scale(.94)}#routeBtn{position:absolute;top:64px;right:16px;z-index:900;width:42px;height:42px;border-radius:12px;background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:0 2px 8px rgba(22,50,58,.22);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s,box-shadow .12s}#routeBtn:hover{box-shadow:0 4px 12px rgba(22,50,58,.28)}#routeBtn:active{transform:scale(.94)}#lassoBtn{position:absolute;top:114px;right:16px;z-index:900;width:42px;height:42px;border-radius:12px;background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:0 2px 8px rgba(22,50,58,.22);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s,box-shadow .12s}#lassoBtn:hover{box-shadow:0 4px 12px rgba(22,50,58,.28)}#lassoBtn:active{transform:scale(.94)}#lassoBtn.active{background:var(--accent);color:#fff;border-color:var(--accent)}#lassoActionBar{left:50%;bottom:24px;transform:translateX(-50%);border:1px solid var(--line);border-radius:14px;box-shadow:0 4px 16px rgba(22,50,58,.25);padding:10px 14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:92vw}#lassoActionBar,#mapSettingsSheet{position:absolute;z-index:1300;background:var(--card)}#mapSettingsSheet{left:0;right:0;bottom:0;border-radius:16px 16px 0 0;box-shadow:0 -6px 24px rgba(22,50,58,.18);padding:14px 18px 22px}.mapSettingsHeader{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:14px;color:var(--ink);margin-bottom:14px}.mapSettingsHeader button{background:none;border:none;font-size:20px;line-height:1;color:var(--ink-soft);cursor:pointer;padding:0 4px}.mapSettingsPills{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);border-radius:10px;padding:4px;grid-gap:4px;gap:4px}.mapSettingsPills button{background:none;border:none;border-radius:8px;padding:9px 0;font-size:13px;font-weight:600;color:var(--ink-soft);cursor:pointer;transition:background .15s,color .15s}.mapSettingsPills button.active{background:var(--card);color:var(--ink);box-shadow:0 1px 4px rgba(22,50,58,.18)}#sheetOverlay{position:absolute;inset:0;background:rgba(22,50,58,.4);z-index:1200;display:none;align-items:flex-end;justify-content:center}#sheetOverlay.show{display:flex}#sheet{background:var(--card);width:100%;max-width:480px;border-radius:18px 18px 0 0;padding:18px 18px 24px;box-shadow:0 -6px 24px rgba(22,50,58,.18)}#sheet h3{font-weight:700;margin:0 0 4px;font-size:16px;color:var(--ink)}#sheet p{margin:0 0 14px;font-size:12px;color:var(--ink-soft)}.statusBtn{width:100%;text-align:left;border:1px solid var(--line);border-left:4px solid transparent;background:var(--paper);border-radius:10px;padding:12px 14px;margin-bottom:8px;font-size:14px;display:flex;align-items:center;gap:10px;cursor:pointer;color:var(--ink);font-weight:600;transition:border-color .15s,box-shadow .15s,transform .1s}.statusBtn:hover{box-shadow:0 3px 10px rgba(22,50,58,.1);transform:translateY(-1px)}.statusBtn:active{transform:translateY(0) scale(.99)}.statusBtn .swatch{width:14px;height:14px;border-radius:50%;flex-shrink:0}#noteInput{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 10px;font-size:13px;margin-bottom:12px;font-family:inherit;resize:none;background:var(--paper);color:var(--ink)}#noteInput:focus{outline:none;border-color:var(--accent-deep)}#cancelSheet,.cancelSheetBtn{width:100%;text-align:center;background:none;border:none;color:var(--ink-soft);font-size:13px;padding:8px;cursor:pointer}#cancelSheet:hover,.cancelSheetBtn:hover{color:var(--ink)}.leaflet-popup-content{font-size:13px;margin:10px 12px}.leaflet-popup-content b{font-weight:700;font-size:13px}.popupMeta{font-size:11px}.ghostTag,.popupMeta{color:var(--ink-soft);margin-top:4px}.ghostTag{display:inline-block;background:var(--paper);font-size:10px;padding:2px 6px;border-radius:8px}.flyerPin{display:flex;align-items:center;justify-content:center}.flyerPin svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.flyerPin.ghost svg{opacity:.45}.flyerPin.pending svg{opacity:.6;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35)) grayscale(.3)}#pendingSyncBadge{position:absolute;bottom:24px;left:16px;z-index:800;background:rgba(22,50,58,.88);color:#fff;font-size:12px;font-weight:600;padding:6px 12px;border-radius:14px;box-shadow:0 2px 6px rgba(0,0,0,.2);pointer-events:none;display:flex;align-items:center;gap:6px}#pendingSyncBadge .dot{width:7px;height:7px;border-radius:50%;background:#e0b020;flex-shrink:0}#toast{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:9px 16px;border-radius:20px;font-size:13px;z-index:1400;opacity:0;pointer-events:none;transition:opacity .2s;box-shadow:0 4px 12px rgba(22,50,58,.3)}#toast.show{opacity:1}