:root{--ink:#1c2024;--muted:#5f6770;--line:#dfe3e8;--paper:#fff;--accent:#0b6e4f;--danger:#b3261e}*{box-sizing:border-box}html,body{height:100%;margin:0}body{color:var(--ink);background:var(--paper);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{flex-direction:column;height:100dvh;display:flex;position:relative}.topbar{border-bottom:1px solid var(--line);background:var(--paper);z-index:1000;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:10px 14px;display:flex}.topbar h1{margin:0;font-size:18px}.legend{color:var(--muted);flex-wrap:wrap;flex-basis:100%;gap:4px 12px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.legend li{align-items:center;gap:5px;display:flex}.dot{border-radius:50%;width:10px;height:10px}.map{flex:1;min-height:0}.new-pin span{background:var(--accent);border:3px solid #fff;border-radius:50% 50% 50% 0;width:28px;height:28px;display:block;transform:translateY(-6px)rotate(-45deg);box-shadow:0 2px 6px #0006}.report-button,.primary{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;padding:14px 22px;font-weight:600}.report-button{left:50%;bottom:max(24px, env(safe-area-inset-bottom));z-index:1000;position:absolute;transform:translate(-50%);box-shadow:0 4px 14px #0000004d}.primary:disabled{opacity:.6;cursor:default}.sheet{z-index:1000;max-width:520px;max-height:62dvh;padding:14px 16px max(16px, env(safe-area-inset-bottom));background:var(--paper);border-radius:16px 16px 0 0;flex-direction:column;gap:10px;margin:0 auto;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -4px 20px #00000040}.sheet-head{justify-content:space-between;align-items:center;display:flex}.sheet h2{margin:0;font-size:17px}.sheet label{flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}.sheet select,.sheet textarea,.sheet input{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;width:100%;padding:9px 10px;font-size:16px;font-weight:400}.hint{color:var(--muted);margin:0;font-size:13px}.link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.error{color:var(--danger);margin:0;font-size:14px}.toast{z-index:1000;background:var(--ink);color:#fff;cursor:pointer;border-radius:10px;width:max-content;max-width:calc(100% - 32px);padding:10px 16px;font-size:14px;position:absolute;top:84px;left:50%;transform:translate(-50%)}.popup{min-width:170px;font-size:13px}.popup strong{font-size:14px}.popup-status{font-weight:600}.popup-when{color:var(--muted)}.popup p{margin:6px 0 0}.popup img{object-fit:cover;border-radius:6px;width:100%;max-height:160px;margin-top:6px;display:block}.popup-share{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.popup-share button{border:1px solid var(--line);color:var(--accent);font:inherit;cursor:pointer;background:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:600}.account{align-items:center;gap:12px;font-size:14px;display:flex}.account a{color:var(--accent);font-weight:600}.who{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;max-width:150px;display:flex;overflow:hidden}.badge{color:var(--accent);background:#e3f1ec;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.popup-remove{color:var(--danger);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:8px;padding:0;font-size:12px;font-weight:600;text-decoration:underline;display:block}.admin{max-width:640px;margin:0 auto;padding:16px}.admin a{color:var(--accent);font-weight:600}.admin h1{margin:8px 0 12px;font-size:22px}.admin h2{margin:28px 0 8px;font-size:16px}.saved{color:var(--accent);margin:0 0 8px;font-size:14px}.user-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.user-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.user-list div{flex-direction:column;min-width:0;display:flex}.user-list span{color:var(--muted);text-overflow:ellipsis;font-size:13px;overflow:hidden}.user-list select{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:7px 8px;font-size:16px}.role-notes{margin:0;font-size:14px}.role-notes div{padding:6px 0}.role-notes dt{font-weight:600}.role-notes dd{color:var(--muted);margin:0}.captcha{min-height:65px}.popup-detail:empty{display:none}.user-search{width:100%;font:inherit;border:1px solid var(--line);border-radius:8px;margin-bottom:10px;padding:9px 10px;font-size:16px}.code-input{letter-spacing:6px;text-align:center;font-size:24px!important}.dev-note{background:#fff6d6;border-radius:8px;margin:0;padding:8px 10px;font-size:13px}.leaflet-heat-pane{filter:blur(9px);pointer-events:none}.leaflet-heatOutline-pane{pointer-events:none}.dot.heat-light{background:#ff3b3059}.dot.heat-dark{background:#8b0000bf}.dot.heat-dotted{background:#ff3b3040;border:1.5px dotted #8b0000}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline-offset:2px;outline:3px solid #1a73e8}h2[tabindex="-1"]:focus{outline:none}.skip-link{z-index:2000;background:var(--ink);color:#fff;border-radius:8px;padding:10px 14px;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.map-wrap{flex:1;min-height:0;display:flex}.map-wrap .map{flex:1}.topbar h1 a{color:inherit;text-decoration:none}.lang-toggle select{font:inherit;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;padding:4px 6px;font-size:14px}.incident-list{margin:0;padding:0;list-style:none}.incident-list li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.incident-list div{color:var(--muted);flex-direction:column;font-size:13px;display:flex}.incident-list strong{color:var(--ink);font-size:15px}.intro{max-width:720px;margin:0 auto;padding:0 20px 32px;line-height:1.5}.intro-top{justify-content:space-between;align-items:center;padding:14px 0;display:flex}.intro-brand{font-size:18px;font-weight:700}.intro-hero{padding:28px 0 8px}.intro-kicker{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:13px;font-weight:700}.intro h1{margin:6px 0 12px;font-size:clamp(30px,8vw,44px);line-height:1.1}.intro-lead{color:#33393f;margin:0 0 22px;font-size:18px}.intro-cta{background:var(--accent);color:#fff;border-radius:999px;padding:15px 28px;font-size:17px;font-weight:700;text-decoration:none;display:inline-block}.intro h2{margin:36px 0 10px;font-size:22px}.intro-steps{counter-reset:step;gap:12px;margin:0;padding:0;list-style:none;display:grid}.intro-steps li{counter-increment:step;border:1px solid var(--line);border-radius:12px;padding:14px 16px 14px 58px;position:relative}.intro-steps li:before{content:counter(step);width:30px;height:30px;color:var(--accent);background:#e3f1ec;border-radius:50%;place-items:center;font-weight:700;display:grid;position:absolute;top:14px;left:14px}.intro-steps h3{margin:0 0 2px;font-size:17px}.intro-steps p{color:var(--muted);margin:0}.intro-tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.intro-tags li{background:#f1f3f5;border-radius:999px;padding:7px 14px;font-size:15px}.intro section>p{margin:0 0 18px}.intro-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:40px;padding-top:16px;font-size:14px}.sheet-form{flex-direction:column;gap:10px;display:flex}main:focus{outline:none}.intro-page{isolation:isolate;min-height:100dvh;position:relative}.intro-page:before{content:"";z-index:-1;opacity:.22;background:url(/coachella-valley-mobile.jpg) 50%/cover no-repeat;position:fixed;inset:0}@media (min-aspect-ratio:1){.intro-page:before{background-image:url(/coachella-valley.jpg)}}.intro-steps li{background:#ffffffd1}.intro-tags li{border:1px solid var(--line);background:#ffffffd9}.intro-foot p{margin:0 0 6px}.account{flex-wrap:wrap;justify-content:flex-end;row-gap:4px}.choices{border:1px solid var(--line);border-radius:8px;margin:0;padding:8px 12px 10px}.choices legend{padding:0 4px;font-size:13px;font-weight:600}.sheet .choices label.check{flex-direction:row;align-items:center;gap:8px;padding:6px 0;font-size:15px;font-weight:400}.sheet .choices input[type=checkbox]{flex:none;width:20px;height:20px;padding:0}.heat-tap{cursor:zoom-in}.info{z-index:1500;pointer-events:none;align-items:center;width:min(460px,92vw);transition:transform .3s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(calc(100% - 34px))}.info-open{transform:translate(0)}.info-tab{pointer-events:auto;background:var(--accent);color:#fff;width:34px;height:128px;font:inherit;cursor:pointer;border:0;border-radius:12px 0 0 12px;flex-direction:column;flex:none;align-self:flex-start;align-items:center;gap:2px;margin-top:22vh;padding:10px 0 8px;font-size:14px;font-weight:700;display:flex;box-shadow:-2px 2px 10px #00000040}.info-tab-arrow{font-size:18px;line-height:1}.info-tab-label{flex:1;width:100%;position:relative}.info-tab-label>span{white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(90deg)}.info-panel{pointer-events:auto;isolation:isolate;background:#fff;flex:1;align-self:stretch;min-width:0;padding:22px 20px 28px;line-height:1.5;position:relative;overflow-y:auto;box-shadow:-6px 0 24px #0003}.info-panel:before{content:"";z-index:-1;opacity:.2;background:url(/coachella-valley-mobile.jpg) top/cover no-repeat;position:absolute;inset:0}.info-panel h2{margin:6px 0 10px;font-size:28px;line-height:1.15}.info-panel h2:focus{outline:none}.info-panel h3{margin:28px 0 10px;font-size:19px}.info-panel .intro-lead{margin-bottom:16px;font-size:16px}.info-panel .intro-cta{cursor:pointer;border:0;padding:12px 24px;font-family:inherit;font-size:16px}.info-panel .intro-steps h4{margin:0 0 2px;font-size:16px}.info-panel>p{margin:0 0 16px}.info-foot{border-top:1px solid var(--line);color:#454c54;padding-top:14px;font-size:13px;margin-top:22px!important}@media (prefers-reduced-motion:reduce){.info{transition:none}}.popup-flag{color:#454c54;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;text-decoration:underline}.popup-flagged{color:#454c54;font-size:12px}.review-list{margin:0;padding:0;list-style:none}.review-list li{border-top:1px solid var(--line);gap:12px;padding:10px 0;display:flex}.review-list img{object-fit:cover;border-radius:8px;flex:none;width:84px;height:84px}.review-list div{color:#454c54;flex-direction:column;gap:2px;font-size:13px;display:flex}.review-list strong{color:var(--ink);font-size:15px}.review-actions{flex-wrap:wrap;gap:4px 14px;margin-top:4px;display:flex}.link.danger{color:var(--danger)}.review-hidden{color:var(--danger)!important;font-size:13px!important}.legal{max-width:720px;margin:0 auto;padding:0 20px 40px;line-height:1.6}.legal a{color:var(--accent);font-weight:600}.legal-top{justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.legal h1{margin:14px 0 4px;font-size:30px}.legal-date{color:#454c54;margin:0 0 14px;font-size:14px}.legal-intro{font-size:17px}.legal h2{margin:28px 0 6px;font-size:20px}.legal p{margin:0 0 12px}.legal ul{margin:0 0 12px;padding-left:22px}.legal li{margin-bottom:6px}.legal-foot{border-top:1px solid var(--line);margin-top:32px;padding-top:14px}.info-foot a,.sheet .hint a{color:var(--accent);font-weight:600}.popup-confirm{background:var(--accent);color:#fff;width:100%;font:inherit;cursor:pointer;border:0;border-radius:999px;margin-top:10px;padding:9px 12px;font-size:14px;font-weight:700;display:block}.popup-mine{color:var(--accent);font-size:13px;font-weight:600;margin:10px 0 0!important}.search{z-index:900;max-width:420px;position:absolute;top:10px;left:54px;right:44px}.search-bar{background:#fff;border-radius:10px;display:flex;overflow:hidden;box-shadow:0 1px 6px #0000004d}.search-bar input{min-width:0;font:inherit;color:#1a1a1a;background:0 0;border:0;flex:1;padding:10px 12px;font-size:16px}.search-bar button{color:#14532d;font:inherit;cursor:pointer;background:#fff;border:0;border-left:1px solid #ddd;padding:0 14px;font-weight:600}.search-bar input:focus-visible,.search-bar button:focus-visible,.search-results button:focus-visible{outline-offset:-3px;outline:3px solid #1d4ed8}.search-note,.search-results{background:#fff;border-radius:10px;margin:6px 0 0;padding:0;list-style:none;overflow:hidden;box-shadow:0 1px 6px #0000004d}.search-note{color:#333;padding:10px 12px;font-size:14px}.search-results li+li{border-top:1px solid #eee}.search-results button{text-align:left;color:#1a1a1a;width:100%;font:inherit;cursor:pointer;background:#fff;border:0;padding:11px 12px;font-size:15px;display:block}.search-results button:hover{background:#f1f5f1}.who a{color:inherit}.filter-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.account-form label{margin-bottom:6px;display:block}.account-form div{gap:8px;display:flex}.account-form input{min-width:0;font:inherit;border:1px solid #999;border-radius:8px;flex:1;padding:10px 12px;font-size:16px}.my-reports{padding:0;list-style:none}.my-reports li{border-top:1px solid #ddd;flex-direction:column;gap:2px;padding:12px 0;display:flex}.my-state{font-weight:600}.my-state-expired,.my-state-removed{color:#555;font-weight:400}.map-wrap{position:relative}.popup-remove.popup-fixed{color:#14532d}.stats{grid-template-columns:1fr 1fr;gap:10px;margin:0;display:grid}.stats div{border:1px solid var(--line);background:#ffffffd9;border-radius:12px;flex-direction:column-reverse;padding:12px 14px;display:flex}.stats dd{margin:0;font-size:28px;font-weight:700;line-height:1.1}.stats dt{color:#333;font-size:14px}.stats-note{color:#444;margin-top:10px;font-size:13px}.my-state-fixed{color:#14532d}#stats-title:first-letter{text-transform:uppercase}.popup-gone{border:1px solid var(--accent);color:#14532d;width:100%;font:inherit;cursor:pointer;background:#fff;border-radius:999px;margin-top:6px;padding:8px 12px;font-size:14px;font-weight:700;display:block}.popup-gone-count{color:#454c54;margin:6px 0 0;font-size:12px}.popup-flag-report{margin-top:8px;font-size:12px}.popup-flag-report [role=group]{color:#454c54;flex-wrap:wrap;gap:4px 12px;display:flex}.dash{max-width:900px}.dash h3{color:#454c54;margin:18px 0 8px;font-size:15px}.dash .stats{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.dash .stats .stat-alert{border-color:var(--danger);background:#fbebeb}.dash-help{color:#454c54;font-size:14px}.dash-scroll{overflow-x:auto}.dash-table{border-collapse:collapse;width:100%;font-size:14px}.dash-table th,.dash-table td{text-align:left;border-top:1px solid var(--line);vertical-align:top;padding:8px 10px 8px 0}.dash-table th{color:#454c54;border-top:0;font-weight:600}.note-edit{flex-direction:column;gap:4px;display:flex}.note-edit textarea{font:inherit;border:1px solid #999;border-radius:8px;padding:8px 10px;font-size:16px}.who{max-width:none;overflow:visible}.who a{text-overflow:ellipsis;max-width:120px;overflow:hidden}.who .badge{flex:none}.privacy-note{border:1px solid var(--line);background:#ffffffe6;border-radius:12px;margin:20px 0 4px;padding:14px 16px}.privacy-note h3{margin:0 0 6px;font-size:17px}.privacy-note p{margin:0 0 8px;font-size:14px}.privacy-note .privacy-limits{color:#454c54;margin:0;font-size:13px}.privacy-note a{color:var(--accent);font-weight:600}.popup-when{color:var(--ink);margin-top:2px;font-size:16px;font-weight:700}.popup-expires{color:#454c54;font-size:12px}.details-fields{border:0;min-width:0;margin:12px 0 0;padding:0}.details-fields legend{padding:0;font-size:14px;font-weight:600}.details-fields label{margin-top:8px;font-size:13px;display:block}.details-fields select{width:100%;font:inherit;background:#fff;border:1px solid #999;border-radius:8px;margin-top:4px;padding:10px 12px;font-size:16px;display:block}.popup-pair{gap:6px;display:flex}.popup-pair .popup-gone{flex:1;padding:8px 6px;font-size:13px}.help-notice{background:#fff8e1;border:1px solid #c9a227;border-radius:8px;padding:10px 12px;font-size:14px}.help-button{border:1px solid var(--accent);color:var(--accent);background:#fff;border-radius:999px;padding:10px 16px;font-size:15px;font-weight:700;text-decoration:none;display:inline-block}.help-links{flex-wrap:wrap;gap:8px;margin:16px 0 4px;display:flex}.resource-list{padding:0;list-style:none}.legal .resource-list li{border-top:1px solid var(--line);padding:12px 0}.resource-list h3{margin:0 0 4px;font-size:17px}.resource-list p{margin:2px 0}.resource-phone a{font-size:17px;font-weight:700}.partner-mark{color:#14532d;font-size:12px;font-weight:700}.install-bar{border-bottom:1px solid var(--line);background:#e3f1ec;padding:8px 46px 8px 12px;font-size:14px}.install-row{align-items:center;gap:10px;display:flex}.install-row p{flex:1;margin:0}.install-action{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;flex:none;padding:8px 14px;font-size:14px;font-weight:700}.install-close{width:32px;height:32px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;font-size:22px;line-height:1}.install-steps{margin:8px 0 2px;padding-left:22px}.install-steps li{margin:4px 0}.share-icon{vertical-align:-4px}.install-panel{border:1px solid var(--line);background:#ffffffe6;border-radius:12px;margin:18px 0 4px;padding:14px 16px}.install-panel h3{margin:0 0 6px;font-size:17px}.install-panel p{margin:0 0 10px;font-size:14px}.quick-exit{border:2px solid var(--danger);color:var(--danger);font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;flex:none;margin-left:auto;padding:5px 12px;font-size:13px;font-weight:700}.legal-top .quick-exit{margin-left:0}.exit-note{color:#454c54;font-size:13px}
