:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#211d18;background:#ece8e3;
  --orange:#f97316;--orange-dark:#d95e08;--ink:#211d18;--muted:#746d65;--paper:#fff;
}
*{box-sizing:border-box}
html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}
button,input,textarea{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.58;cursor:wait}
#app{height:100dvh;max-width:760px;margin:auto;background:#fff;position:relative;overflow:hidden;box-shadow:0 0 50px #0001}

.topbar{
  position:absolute;z-index:520;top:0;left:0;right:0;height:68px;
  padding:12px 14px 8px;display:flex;justify-content:space-between;align-items:flex-start;
  background:linear-gradient(#fffffff7 74%,#fff0);pointer-events:none
}
.topbar>*{pointer-events:auto}
.brand{display:flex;gap:7px;align-items:center;font-size:17px;line-height:1}
.brand span{font-size:21px}.brand-wrap p{margin:5px 0 0;color:#746d65;font-size:10.5px}
.install{border:0;border-radius:999px;padding:8px 11px;background:#241f1a;color:#fff;font-size:10px;font-weight:800}

.searchbar{
  position:absolute;z-index:530;top:68px;left:12px;right:12px;height:44px;border-radius:14px;background:#fff;
  display:flex;align-items:center;gap:8px;padding:0 11px;box-shadow:0 8px 24px #3c2b1720;border:1px solid #eee7df
}
.searchbar>span{font-size:19px;color:#69615a}.searchbar input{border:0;outline:0;flex:1;min-width:0;font-size:13px}
.searchbar button{border:0;background:#fff3e8;color:#e56308;width:32px;height:32px;border-radius:10px;font-size:18px}

.map-stage,#map{position:absolute;inset:0}#map{z-index:1;background:#eee}
.status-pill{
  position:absolute;top:120px;left:50%;transform:translateX(-50%);z-index:450;border:0;background:#ffffffef;color:#302a24;
  padding:7px 10px;border-radius:999px;font-size:10.5px;white-space:nowrap;box-shadow:0 7px 20px #0002;backdrop-filter:blur(8px)
}
.status-pill i{width:7px;height:7px;display:inline-block;border-radius:50%;background:#22a25a;margin-right:5px;box-shadow:0 0 0 3px #22a25a1b}

.pin-host{background:none!important;border:0!important}
.map-pin{
  width:38px;height:38px;border:3px solid #fff;border-radius:14px 14px 14px 4px;transform:rotate(-45deg);
  display:grid;place-items:center;box-shadow:0 5px 13px #0003;background:var(--orange)
}
.map-pin.soon{background:#6b7280}.map-pin span{display:block;transform:rotate(45deg);font-size:17px}

.nearby-peek{
  position:absolute;z-index:470;left:12px;right:86px;bottom:86px;background:#ffffffef;border:1px solid #ece4dc;
  border-radius:17px;padding:7px;box-shadow:0 10px 30px #3a28181e;backdrop-filter:blur(14px);max-height:128px;overflow:hidden
}
.nearby-head{width:100%;height:34px;border:0;background:none;display:flex;align-items:center;justify-content:space-between;text-align:left;padding:0 4px;color:var(--ink)}
.nearby-head>span{display:flex;align-items:baseline;gap:7px}.nearby-head strong{font-size:12px}.nearby-head small{font-size:9px;color:#827970;font-weight:600}.nearby-head>b{font-size:18px;color:#9c9187}
.nearby-cards{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.nearby-cards::-webkit-scrollbar{display:none}
.nearby-card{
  min-width:215px;height:58px;border:1px solid #efe6dd;background:#fff;border-radius:13px;display:flex;align-items:center;gap:8px;padding:8px;text-align:left;color:var(--ink)
}
.nearby-icon{width:36px;height:36px;border-radius:11px;background:#fff2e6;display:grid;place-items:center;font-size:18px}
.nearby-copy{flex:1;min-width:0;display:flex;flex-direction:column}.nearby-copy strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nearby-copy small{font-size:9px;color:#7d746c;margin-top:3px}
.nearby-card>b{color:#a3978c}.empty-nearby{height:52px;border:0;background:#fff8f1;color:#ba560e;border-radius:12px;padding:0 12px;font-size:10px;font-weight:800;white-space:nowrap}

.report-fab{
  position:absolute;z-index:510;bottom:87px;right:12px;border:0;background:var(--orange);color:#fff;border-radius:17px;
  width:64px;height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
  font-weight:850;font-size:10px;box-shadow:0 12px 28px #f9731647
}
.report-fab b{font-size:23px;line-height:21px}

.bottom-nav{
  height:70px;padding-bottom:max(6px,env(safe-area-inset-bottom));background:#fffffff5;position:absolute;z-index:620;bottom:0;left:0;right:0;
  display:flex;justify-content:space-around;border-top:1px solid #ece5de;backdrop-filter:blur(18px)
}
.bottom-nav button{border:0;background:none;color:#8b8279;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:17px;min-width:82px}
.bottom-nav small{font-size:9px}.bottom-nav .active{color:#e9650a}

.overlay{position:absolute;z-index:900;inset:0;background:#23170d5a;display:flex;align-items:flex-end;backdrop-filter:blur(2px)}
.hidden{display:none!important}
.detail-sheet,.report-sheet,.list-sheet{
  width:100%;background:#fff;border-radius:24px 24px 0 0;max-height:91dvh;overflow:auto;position:relative;box-shadow:0 -18px 46px #0002
}
.handle{width:40px;height:4px;background:#ded7cf;border-radius:99px;margin:8px auto}
.sheet-close{border:0;background:#ffffffea;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;position:absolute;right:12px;top:11px;z-index:5;font-size:22px;color:#38322c}

.hero-photo{height:180px;background:linear-gradient(135deg,#ffe7c5,#fff6eb);position:relative;overflow:hidden}
.hero-photo img{width:100%;height:100%;object-fit:cover}.food-emoji{font-size:64px;display:grid;place-items:center;height:100%}
.active-badge{position:absolute;left:13px;bottom:12px;background:#209a55;color:#fff;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900;letter-spacing:.04em}
.active-badge.soon{background:#575f6a}

.detail-body{padding:16px 16px calc(18px + env(safe-area-inset-bottom))}
.detail-body h2{margin:0 0 4px;font-size:20px}.detail-body p{margin:0 0 12px;color:#766e66;font-size:12px;line-height:1.45}.detail-area{font-weight:750;color:#4c443d!important}
.facts{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.facts span{background:#f7f3ef;border-radius:9px;padding:7px 8px;font-size:10px}
.primary{width:100%;height:48px;border:0;border-radius:14px;background:var(--orange);color:#fff;font-weight:850;display:flex;align-items:center;justify-content:center;gap:7px}
.verify{margin-top:13px;background:#fff8ef;border:1px solid #ffe2bb;border-radius:14px;padding:11px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.verify>div{display:flex;gap:8px;align-items:center}.verify>div>b{color:#d86800}.verify span{display:flex;flex-direction:column}.verify strong{font-size:11px}.verify small{font-size:9px;color:#81776e;margin-top:2px}
.verify button{border:0;background:#fff;color:#c45c00;border-radius:9px;padding:8px 10px;font-weight:850;font-size:10px}.ended{width:100%;background:none;border:0;color:#888078;margin-top:11px;font-size:10px}

.sheet-head{padding:0 16px 10px}.sheet-head small{font-size:9px;letter-spacing:.12em;color:#de6900;font-weight:900}.sheet-head h2{margin:3px 0 2px;font-size:20px}.sheet-head p{margin:0;color:#81786f;font-size:10px}
.form-body{padding:6px 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}.form-body>label{font-size:10px;font-weight:850;color:#5e5750}
.form-body input,.form-body textarea{border:1px solid #e7dfd7;border-radius:12px;padding:11px 11px;outline:0;background:#fff;width:100%;font-size:12px}
.form-body input:focus,.form-body textarea:focus{border-color:#ff9a43;box-shadow:0 0 0 3px #ff9a4318}.form-body textarea{min-height:68px;resize:none}
.location-card{border:1px solid #ffe0bd;background:#fff9f2;border-radius:14px;padding:11px;display:flex;align-items:center;text-align:left;gap:9px;color:#201d19}.location-card.locked{border-color:#9fd8b8;background:#f3fbf6}.location-card.approx{border-color:#f2bf79;background:#fff8ee}
.location-card>span{display:flex;flex:1;flex-direction:column}.location-card strong{font-size:11px}.location-card small{color:#83786e;margin-top:2px;font-size:9px}.location-card>b:first-child{font-size:20px;color:#ec6d00}
.coords{display:grid;grid-template-columns:1fr 1fr;gap:7px}.compact-fields input{font-size:10px;color:#71685f}.location-picker-wrap{overflow:hidden;border:1px solid #eadfd4;border-radius:14px;background:#fff}.location-picker{height:165px;width:100%;background:#f4eee8}.location-picker-hint{padding:9px 11px;display:flex;align-items:flex-start;gap:8px}.location-picker-hint b{font-size:10px;white-space:nowrap}.location-picker-hint span{font-size:9px;line-height:1.35;color:#7d736a}.location-picker .leaflet-control-zoom{margin:8px}.location-picker .leaflet-control-zoom a{width:26px;height:26px;line-height:26px;font-size:16px}
.photo-drop{border:1.5px dashed #efb67e!important;border-radius:14px;padding:12px!important;display:flex!important;align-items:center;justify-content:flex-start;flex-direction:row;gap:9px;background:#fffaf4;color:#201d19!important}
.photo-drop input{display:none}.photo-drop>b{font-size:22px}.photo-drop>span{display:flex;flex-direction:column}.photo-drop strong{font-size:11px}.photo-drop small{font-weight:500;color:#84786c;font-size:9px;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chips{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.chips button{border:1px solid #e7dfd7;background:#fff;border-radius:11px;padding:9px 2px;font-size:10px}.chips .selected{border-color:#f97316;color:#cf5a06;background:#fff4e9;font-weight:850}
.custom-time{display:grid;grid-template-columns:1fr 1fr;gap:7px;background:#faf7f4;padding:9px;border-radius:12px}.custom-time label{font-size:9px;color:#716860;font-weight:800}.custom-time label span{display:block;margin:0 0 4px 2px}.custom-time input{padding:9px 7px;font-size:9px}
.publish{margin-top:2px}

.full-list{padding:3px 12px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:7px}
.list-item{width:100%;border:1px solid #eee6de;background:#fff;border-radius:14px;padding:9px;display:flex;gap:9px;align-items:center;text-align:left;color:var(--ink)}
.list-item img,.list-emoji{width:48px;height:48px;border-radius:11px;object-fit:cover;background:#fff2e6;display:grid;place-items:center;font-size:21px;flex:none}
.list-item>span:nth-child(2){display:flex;flex:1;min-width:0;flex-direction:column}.list-item strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item small{font-size:9px;color:#776e66;margin-top:2px}.list-item em{font-size:9px;color:#9a9189;font-style:normal;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item>b{color:#a2978d}
.muted-dot{color:#bbb0a6!important}
.empty-state{padding:34px 18px 28px;text-align:center;display:flex;flex-direction:column;align-items:center}.empty-state>b{font-size:42px}.empty-state strong{margin-top:8px;font-size:15px}.empty-state p{color:#81786f;font-size:11px;margin:5px 0 16px}.empty-state .primary{max-width:260px}

.toast{position:absolute;z-index:1200;left:50%;bottom:80px;transform:translateX(-50%);background:#211d19;color:#fff;padding:10px 13px;border-radius:999px;font-size:10px;box-shadow:0 9px 22px #0003;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}
.leaflet-control-attribution{font-size:7px!important}.leaflet-bottom.leaflet-right{bottom:150px}

@media(max-width:380px){
  .nearby-peek{right:80px}.nearby-card{min-width:192px}.report-fab{width:60px;height:60px}.brand-wrap p{display:none}
}
@media(min-width:760px){#app{border-left:1px solid #eee;border-right:1px solid #eee}}


/* v3 — precise GPS, multi-photo, developer */
.developer-btn{
  border:0;width:36px;height:34px;border-radius:11px;background:#241f1a;color:#fff;
  font-size:11px;font-weight:900;letter-spacing:-.04em;display:grid;place-items:center
}
.location-card.locked{border-color:#91d6aa;background:#f2fbf5}
.location-card.locked>b:first-child{color:#1f9c54}
.photo-preview{
  display:flex;gap:7px;overflow-x:auto;padding:1px 0 3px;scrollbar-width:none
}
.photo-preview::-webkit-scrollbar{display:none}
.photo-preview img{
  width:64px;height:64px;object-fit:cover;border-radius:11px;border:1px solid #e9e1d9;flex:none;background:#f5f1ed
}
.photo-gallery{
  display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none
}
.photo-gallery::-webkit-scrollbar{display:none}
.photo-gallery img{
  flex:0 0 100%;width:100%;height:100%;object-fit:cover;scroll-snap-align:start
}
.hero-photo.multi:after{
  content:"Swipe";position:absolute;right:12px;bottom:12px;background:#201a15b8;color:#fff;
  border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800;backdrop-filter:blur(8px)
}
.photo-count{
  position:absolute;right:12px;top:12px;background:#201a15bd;color:#fff;border-radius:999px;
  padding:5px 8px;font-size:8px;font-weight:800;backdrop-filter:blur(8px)
}
.developer-sheet{
  width:100%;background:#fff;border-radius:24px 24px 0 0;position:relative;
  padding-bottom:calc(22px + env(safe-area-inset-bottom));box-shadow:0 -18px 46px #0002
}
.developer-content{
  padding:18px 22px 10px;text-align:center;display:flex;flex-direction:column;align-items:center
}
.dev-mark{
  width:58px;height:58px;border-radius:18px;background:#241f1a;color:#fff;display:grid;place-items:center;
  font-weight:900;font-size:17px;box-shadow:0 12px 28px #241f1a20;margin-bottom:12px
}
.developer-content>small{font-size:9px;letter-spacing:.15em;color:#e76309;font-weight:900}
.developer-content h2{font-size:20px;margin:5px 0 6px}
.developer-content p{font-size:11px;line-height:1.5;color:#7a7168;max-width:320px;margin:0 0 17px}
.instagram-link{
  width:100%;max-width:320px;text-decoration:none;background:#fff4ec;color:#bd5105;border:1px solid #ffd8bd;
  border-radius:14px;padding:13px 14px;font-weight:850;font-size:11px;display:flex;justify-content:center;gap:7px
}
.instagram-link span{color:#6d6259}


/* My Updates */
.my-update-wrap{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:stretch}
.my-update-wrap .list-item{min-width:0}
.my-delete{border:1px solid #f1d4ca;background:#fff4f1;color:#b33a28;border-radius:12px;padding:0 10px;font-size:9px;font-weight:900}

.location-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 10px 10px}
.location-actions button{border:1px solid #eadfd4;background:#fff;border-radius:11px;padding:10px 8px;font-size:10px;font-weight:850;color:#4d433b}
.location-actions button:first-child{background:#fff4e9;border-color:#f5b16f;color:#c95b08}


/* Fast live-location strip */
.location-strip{position:absolute;z-index:535;top:118px;left:12px;right:12px;min-height:40px;display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid #ebe4dc;border-radius:13px;background:#fffffff2;box-shadow:0 7px 22px #3c2b1718;backdrop-filter:blur(12px);pointer-events:none}
.location-strip>span{display:flex;flex-direction:column;min-width:0}
.location-strip strong{font-size:11px;line-height:1.2;color:#342e28;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.location-strip small{font-size:8.5px;color:#7f766e;margin-top:2px}
.location-dot{width:9px;height:9px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px #f59e0b1c;flex:0 0 auto}
.location-strip.ready .location-dot{background:#22a25a;box-shadow:0 0 0 4px #22a25a1c}
.location-strip.ready{border-color:#dfeee5}
.status-pill{top:164px}
.leaflet-tooltip{font-size:11px;line-height:1.35;border:0;border-radius:10px;box-shadow:0 6px 20px #0002}
