.restaurant-search-add{margin:2px 0 10px}
.restaurant-search-add button{width:100%;border:1px solid var(--line);background:var(--pill);color:var(--text);border-radius:10px;padding:8px 10px;text-align:left;font-size:10px;font-weight:850;cursor:pointer}
.restaurant-search-add button:hover{background:#e5e5df}
.restaurant-google-status{min-height:16px;color:var(--muted);font-size:9px;line-height:1.35;margin:4px 0}
.restaurant-google-suggestions{display:grid;gap:5px;margin:-1px 0 9px}
.restaurant-google-suggestion{width:100%;border:1px solid var(--line);background:#fff;border-radius:11px;padding:9px 10px;text-align:left;cursor:pointer}
.restaurant-google-suggestion:hover{background:var(--pill)}
.restaurant-google-suggestion b,.restaurant-google-suggestion span{display:block}
.restaurant-google-suggestion b{font-size:11px}
.restaurant-google-suggestion span{color:var(--muted);font-size:9px;margin-top:2px}
.restaurant-card-address,.address-link{border:0;background:none;color:var(--muted);font-size:11px;line-height:1.4;padding:0;text-align:left;cursor:pointer}
.restaurant-card-address:hover,.address-link:hover{color:var(--text);text-decoration:underline}
.address-link{font-size:12px}
:root{--bg:#f5f5f1;--card:#fff;--text:#151515;--muted:#73736f;--line:#e6e6df;--food:#f47a1f;--food-soft:#fff0e2;--price:#244f78;--price-soft:#eaf2fa;--green:#168054;--red:#c74343;--purple:#7956b4;--purple-soft:#f0e9fb;--pill:#efefeb}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}button,input,textarea{font:inherit}.app{max-width:430px;margin:auto;min-height:100vh;padding-bottom:82px}
.topbar{position:sticky;top:0;z-index:30;background:rgba(245,245,241,.95);backdrop-filter:blur(12px);padding:12px 16px 10px;border-bottom:1px solid rgba(0,0,0,.04)}.brandrow{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.brand{border:0;background:none;padding:0;font-size:23px;font-weight:950;letter-spacing:-.05em}.top-actions{display:flex;gap:7px}.chip,.settings-btn,.filter-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:850;cursor:pointer}.settings-btn{width:34px;height:34px;padding:0;color:#333;font-size:15px}.search{width:100%;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;outline:none}
.screen{display:none;padding:15px 16px}.screen.active{display:block}.location-row,.section-head,.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.eyebrow{font-size:9px;font-weight:950;color:var(--muted);letter-spacing:.1em}.location-row h1,.section-head h1{margin:1px 0 0;font-size:26px;letter-spacing:-.045em}
.filters{display:none;background:#fff;border:1px solid var(--line);border-radius:18px;padding:12px;margin:0 0 13px}.filters.show{display:block}.filter-title{font-size:9px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.07em;margin:8px 0}.filter-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:11px}.filter-chips button{border:1px solid var(--line);background:var(--pill);border-radius:999px;padding:7px 9px;font-size:10px;cursor:pointer}.filter-chips button.active{background:#111;color:#fff}.clear-filter{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px;font-size:10px;font-weight:800}
.restaurant-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 14px 13px;margin-bottom:10px;overflow:hidden;cursor:pointer}.food-rail{height:4px;margin:0 -14px 11px;background:var(--food)}.restaurant-card h3{margin:0 0 3px;font-size:16px}.meta{font-size:11px;color:var(--muted);line-height:1.4}.scorebox,.pricebox{border-radius:10px;padding:7px 8px;text-align:center;min-width:48px}.scorebox{background:var(--food-soft);color:#a44a00}.pricebox{background:var(--price-soft);color:var(--price);font-size:11px;font-weight:900}.scorebox b{display:block;font-size:14px}.scorebox span{font-size:8px;font-weight:800;text-transform:uppercase}.card-foot{margin-top:10px;border-top:1px solid var(--line);padding-top:9px;font-size:11px;display:flex;justify-content:space-between;align-items:center;gap:8px}.quick-badges{display:flex;gap:5px;flex-wrap:wrap}.quick-badge{border:0;border-radius:999px;padding:5px 7px;font-size:9px;background:#eef7f3;cursor:pointer}.quick-badge.group{background:#f2edf9}.activity{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.activity.hot{color:#d92f2f}.activity.surge{color:#721010}.activity.new{color:#277b50}
.back{border:0;background:none;color:var(--muted);padding:0 0 10px;cursor:pointer}
.hero{background:#fff;border:1px solid var(--line);border-radius:21px;padding:0 16px 15px;overflow:hidden}.hero .food-rail{margin:0 -16px 12px}.hero h1{margin:4px 0;font-size:27px;letter-spacing:-.045em}.headline-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.headline-tag{font-size:9px;background:var(--pill);border-radius:999px;padding:6px 8px;font-weight:800}.headline-tag.work{cursor:pointer;background:#e9f5ef}.headline-tag.group{background:#f1eaf9}.hero-actions{display:flex;gap:7px;margin-top:12px}.hero-actions button{flex:1;border:1px solid var(--line);background:var(--pill);border-radius:11px;padding:10px;font-size:10px;font-weight:850}.hero-actions .primary{background:#111;color:#fff;border-color:#111}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px}.stat{background:var(--pill);border-radius:13px;padding:10px;min-height:86px}.stat.food{background:var(--food-soft)}.stat b{display:block;font-size:24px;letter-spacing:-.04em}.stat span{display:block;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.stat .hours{font-size:11px;letter-spacing:0;line-height:1.25;margin-top:3px}.hours-status{font-size:9px!important;font-weight:950;margin-bottom:4px}.hours-status.open{color:var(--green)}.hours-status.closed{color:var(--red)}.stat-actions{display:flex;gap:3px;margin-top:6px}.stat-actions button{border:1px solid #ddd;background:#fff;border-radius:7px;padding:4px;font-size:7px;cursor:pointer}
.subnav{display:flex;gap:6px;overflow:auto;padding:10px 0 1px}.subnav button{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 10px;font-size:9px;font-weight:800;cursor:pointer}
.section-title{display:flex;justify-content:space-between;align-items:flex-end;margin:18px 0 9px}.section-title.big{margin-top:23px}.section-title h2{margin:0;font-size:21px;letter-spacing:-.035em}.section-title span{font-size:9px;color:var(--muted)}
.dish-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:11px 12px;margin-bottom:8px}.dish-card.top{border-color:#e4bd5b;box-shadow:inset 0 0 0 1px #f5df9a}.dish-card h4{margin:0;font-size:14px}.dish-score{background:var(--food-soft);color:#a44a00;border-radius:9px;padding:7px 8px;font-weight:900;font-size:11px}.expert{background:#181818;color:#fff;border-radius:18px;padding:14px;margin-top:10px}.expert .eyebrow{color:#dbc7ff}.expert p{font-size:12px;line-height:1.45;margin:7px 0}.expert-foot{font-size:9px;color:#bbb}
.utility-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.utility{background:#fff;border:1px solid var(--line);border-radius:15px;padding:11px}.utility.wide{grid-column:1/-1}.utility strong{font-size:11px}.utility p{font-size:10px;line-height:1.4;color:var(--muted);margin:5px 0 8px}.utility-actions,.confirm-row{display:flex;gap:5px;flex-wrap:wrap}.utility-actions button,.confirm-row button{border:1px solid var(--line);background:var(--pill);border-radius:8px;padding:6px 7px;font-size:8px;font-weight:800;cursor:pointer}.warning{display:none;margin-top:7px;background:#fff3d7;color:#785500;border-radius:9px;padding:7px;font-size:8px}.warning.show{display:block}
.photo-toolbar,.discussion-toolbar{display:flex;gap:7px;margin-bottom:9px}.mini-search{flex:1;border:1px solid var(--line);border-radius:12px;padding:10px 11px;background:#fff;min-width:0}.photo-strip{display:flex;gap:8px;overflow:auto}.photo-placeholder{min-width:142px;height:112px;border-radius:15px;background:linear-gradient(135deg,#c7b8a6,#795a42);padding:9px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;font-size:10px}.photo-placeholder:nth-child(2){background:linear-gradient(135deg,#8f6b48,#2c2016)}.photo-placeholder:nth-child(3){background:linear-gradient(135deg,#b9b9b9,#555)}.photo-placeholder:nth-child(4){background:linear-gradient(135deg,#8b7d6c,#423a32)}.photo-placeholder b{font-size:11px}.photo-placeholder.hidden{display:none}.photo-type{font-size:8px;text-transform:uppercase;letter-spacing:.06em;opacity:.8;margin-bottom:2px}
.work-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px}.work-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:10px}.work-item{background:var(--pill);border-radius:11px;padding:9px}.work-item b,.work-item span{display:block}.work-item b{font-size:9px;color:var(--muted);text-transform:uppercase}.work-item span{font-size:11px;font-weight:800;margin-top:3px}.work-disclaimer{font-size:9px;color:var(--muted);line-height:1.4;margin-top:10px;border-top:1px solid var(--line);padding-top:9px}
.community-post{background:#fff;border:1px solid var(--line);border-radius:16px;padding:13px;margin-bottom:8px}.community-post.hidden{display:none}.community-post p{font-size:13px;line-height:1.48;margin:0 0 8px}.food-term{background:#fff0b8;border-radius:5px;padding:1px 3px;font-weight:800}.post-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.post-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.post-actions button{border:1px solid var(--line);background:var(--pill);border-radius:999px;padding:6px 8px;font-size:9px;cursor:pointer}.post-actions button.active{background:#111;color:#fff}.disagree-box{display:none;background:#fafafa;border-radius:12px;padding:9px;margin-top:8px}.disagree-box.show{display:block}.disagree-box textarea{width:100%;min-height:54px}.discussion-input{width:100%;border:1px solid var(--line);border-radius:14px;padding:11px 12px;background:#fff;resize:none;min-height:72px}
.primary-wide,.secondary{width:100%;border-radius:14px;padding:12px;font-weight:850;cursor:pointer}.primary-wide{border:0;background:var(--food);color:#fff;text-transform:uppercase}.secondary{border:1px solid var(--line);background:#fff}
.review-box{background:#fff;border:1px solid var(--line);border-radius:20px;padding:15px}.review-box h1{font-size:23px;margin:2px 0}.dish-rate{border:1px solid var(--line);border-radius:14px;padding:11px;margin:9px 0}.dish-toggle{display:flex;gap:9px;align-items:flex-start}.dish-toggle input{margin-top:4px}.dish-toggle b{font-size:13px}.rate-row{display:none;grid-template-columns:repeat(5,1fr);gap:5px;margin-top:9px}.dish-rate.selected .rate-row{display:grid}.rate-row button,.choice-row button{border:1px solid var(--line);background:var(--pill);border-radius:10px;padding:9px 5px;font-size:11px}.rate-row button.active,.choice-row button.active{background:#111;color:#fff}.s-tier-wrap{display:none;margin-top:8px;background:var(--purple-soft);color:#4f347f;border:1px solid #d8c8ef;border-radius:10px;padding:8px;font-size:10px;font-weight:900}.question{margin:17px 0}.question label{display:block;font-size:12px;font-weight:850;margin-bottom:8px}.question.price{border-left:4px solid var(--price);padding-left:10px}.choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.choice-row.six{grid-template-columns:repeat(3,1fr)}textarea{width:100%;min-height:75px;border:1px solid var(--line);border-radius:11px;padding:10px;resize:vertical}.submit{width:100%;border:0;background:#111;color:#fff;border-radius:13px;padding:13px;font-weight:900}.notice{padding:10px;border-radius:12px;background:#fff5df;color:#755000;font-size:10px;margin-bottom:10px}
.review-history{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:9px}.review-history h3{margin:0 0 3px;font-size:14px}.pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.pill{background:var(--pill);border-radius:999px;padding:6px 8px;font-size:9px}.note-row{display:flex;gap:7px;margin-top:9px}.private-note{flex:1;background:#fafaf7;border:1px solid var(--line);border-radius:10px;padding:8px;font-size:10px}.pencil{border:1px solid var(--line);background:#fff;border-radius:9px;width:31px}.guide-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px;margin-bottom:8px}.guide-card b,.guide-card span{display:block}.guide-card span{font-size:10px;color:var(--muted);margin-top:3px}.muted-card{border-style:dashed}
.profile-card{background:#171717;color:#fff;border-radius:22px;padding:17px}.profile-card h1{margin:0;font-size:24px}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:14px}.profile-stats div{background:rgba(255,255,255,.09);border-radius:12px;padding:9px}.profile-stats b{display:block;font-size:16px}.profile-stats span{font-size:8px;color:#bbb}.profile-actions{display:flex;gap:7px;margin-top:12px}.profile-actions button{flex:1;border:0;border-radius:10px;padding:9px;font-size:10px;font-weight:850}.want-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px;margin-top:8px}.foodprint{display:flex;gap:6px;flex-wrap:wrap}.foodprint span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 9px;font-size:10px}
.profile-top{background:#151515;color:#fff;border-radius:22px;padding:17px;margin-bottom:14px}.profile-identity-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.profile-identity{display:flex;align-items:center;gap:11px}.profile-avatar{width:54px;height:54px;border-radius:50%;background:#f1eadc;color:#000;display:grid;place-items:center;font-size:23px;font-weight:950}.profile-identity h1{margin:0;font-size:23px;letter-spacing:-.04em}.profile-handle{font-size:10px;color:#d8d8d8;margin-top:2px}.profile-message{position:relative;border:0;background:#f7f7f7;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;cursor:pointer}.profile-message span{position:absolute;right:-2px;top:-4px;background:#f27622;color:#fff;border-radius:999px;min-width:17px;height:17px;padding:0 4px;display:grid;place-items:center;font-size:9px;font-weight:900}.reference-actions{margin-top:14px}.reference-actions button,.profile-wide-btn{background:#f7f7f7;color:#111;border:0!important;min-height:39px}.profile-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:18px}.profile-overview div{background:#efefec;border-radius:14px;padding:12px;min-height:76px}.profile-overview b{display:block;font-size:15px}.profile-overview span{font-size:9px;color:#686863}.profile-section-title{margin-top:20px}.foodprint-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:13px}.foodprint-label{display:block;font-size:10px;margin:4px 0 7px}.foodprint-card .foodprint{margin-bottom:13px}.foodprint-card p{font-size:11px;color:var(--muted);margin:7px 0 0;line-height:1.45}.status-card,.profile-photo-card,.contribution-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:10px}.status-card div,.profile-photo-card div,.contribution-card div{min-width:0}.status-card b,.status-card span,.profile-photo-card b,.profile-photo-card span{display:block}.status-card b,.profile-photo-card b,.contribution-card b{font-size:12px}.status-card span,.profile-photo-card span,.contribution-card small{font-size:9px;color:var(--muted);margin-top:2px}.status-card button{border:0;background:none;font-size:17px;cursor:pointer}.profile-photo-card strong{font-size:12px;white-space:nowrap}.contribution-card>div{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.contribution-card small{flex-basis:100%;padding-left:21px}.contrib-icon{font-size:11px}.contribution-card>strong{white-space:nowrap}.profile-links{display:flex;justify-content:space-between;gap:10px;margin:14px 2px 4px}.profile-links button{border:0;background:none;text-decoration:underline;font-size:9px;color:#4a4a48;cursor:pointer;padding:0}

.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(430px,100%);background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);padding:7px 8px max(8px,env(safe-area-inset-bottom));z-index:40}.nav button{border:0;background:none;color:var(--muted);font-size:9px;padding:4px 5px;cursor:pointer}.nav button span{display:grid;place-items:center;width:34px;height:30px;margin:0 auto 3px;border-radius:10px;font-size:18px;transition:.15s ease}.nav button.active{color:#111;font-weight:900}.nav button[data-go="home"].active span,.nav button[data-go="you"].active span{background:#ffd84d;color:#171717;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}.nav button[data-go="map"].active span{background:#dceeff;color:#1768aa;box-shadow:inset 0 0 0 1px #c6e1fa}.nav button[data-go="guides"].active span{background:#e9dfcf;color:#67513b;box-shadow:inset 0 0 0 1px #ddd0bd}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:100;display:none;align-items:flex-end;justify-content:center}.modal.show{display:flex}.sheet{position:relative;width:min(430px,100%);background:#fff;border-radius:25px 25px 0 0;padding:18px 18px max(20px,env(safe-area-inset-bottom));max-height:91vh;overflow:auto}.sheet h2{font-size:25px;margin:4px 0 10px}.sheet p{font-size:12px;line-height:1.5;color:#444}.modal-x{position:absolute;right:14px;top:12px;border:0;background:none;color:#aaa;font-size:19px;cursor:pointer;font-weight:500}.sheet-actions{display:flex;gap:7px;margin-top:12px}.sheet-actions button{flex:1;border-radius:12px;padding:11px;font-weight:850}.dark{background:#111;color:#fff;border:0}.light{background:#fff;border:1px solid var(--line)}.settings-list{display:grid;gap:7px;margin-top:12px}.settings-list button{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px;font-size:11px;font-weight:800}.auth-tabs{display:flex;gap:6px;margin:10px 0}.auth-tabs button{flex:1;border:1px solid var(--line);background:var(--pill);border-radius:10px;padding:8px}.auth-tabs button.active{background:#111;color:#fff}.auth-form input{width:100%;border:1px solid var(--line);border-radius:11px;padding:10px;margin:5px 0}.error{color:var(--red);font-size:10px;margin-top:6px}.guide-score{width:62px;height:62px;border-radius:18px;background:#111;color:#fff;display:grid;place-items:center;font-size:28px;font-weight:950;margin:12px 0}.guide-score.s-guide{background:var(--purple);box-shadow:0 6px 18px rgba(121,86,180,.24)}.guide-score.price-guide{background:var(--price)}
.map-legend{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}.map-key{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 8px;font-size:10px;font-weight:750}.map-dot{width:9px;height:9px;border-radius:50%;background:#fff;border:1px solid #bbb}.map-dot.hot{background:#e53935;border-color:#e53935}.map-dot.surge{background:#7a1010;border-color:#7a1010}.map-dot.newspot{background:#2e8b57;border-color:#2e8b57}.empty-map{height:370px;border-radius:22px;background:radial-gradient(circle at 32% 28%,rgba(255,90,47,.22),transparent 22%),radial-gradient(circle at 67% 42%,rgba(255,90,47,.28),transparent 18%),radial-gradient(circle at 53% 75%,rgba(255,138,61,.18),transparent 20%),#dcdcd6;position:relative;overflow:hidden}.pin{position:absolute;background:#fff;border:1px solid #ddd;padding:7px 8px;border-radius:12px;font-size:10px;font-weight:800;box-shadow:0 4px 18px rgba(0,0,0,.12);cursor:pointer;color:#111}.pin.hot{background:#e53935;color:#fff;border-color:#e53935}.pin.surge{background:#7a1010;color:#fff;border-color:#7a1010}.pin.newspot{background:#2e8b57;color:#fff;border-color:#2e8b57}.map-pop{display:none;position:absolute;left:12px;right:12px;bottom:12px;z-index:4;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:16px;padding:12px;box-shadow:0 10px 30px rgba(0,0,0,.18)}.map-pop.show{display:block}.map-pop h3{margin:0 0 3px;font-size:15px}.map-pop-actions{display:flex;gap:7px;margin-top:9px}.map-pop-actions button{border:1px solid var(--line);background:var(--pill);border-radius:10px;padding:8px 9px;font-size:10px;font-weight:800}.map-pop-actions button:first-child{background:#111;color:#fff;border-color:#111}.map-note{font-size:9px;color:var(--muted);line-height:1.4}
@media(min-width:700px){body{padding:22px 0}.app{border-radius:24px;overflow:hidden;box-shadow:0 15px 60px rgba(0,0,0,.08)}}

.actual-photo{background-size:cover!important;background-position:center!important}.auth-form select{width:100%;margin:5px 0}.real-guide{cursor:pointer}.community-post .community-post{border-color:#eee}.photo-toolbar .filter-btn{flex:0 0 auto}

/* v5 social discovery card + custom menu item */
.social-card{background:linear-gradient(135deg,#171717,#303030);color:#fff;border-radius:22px;padding:17px;margin:4px 0 16px}.social-kicker{font-size:10px;opacity:.65;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.social-card h2{font-size:22px;line-height:1.08;margin:7px 0 9px;letter-spacing:-.04em}.social-card p{margin:0;color:#d4d4d4;font-size:12px;line-height:1.45}.social-pills{display:flex;gap:6px;margin-top:13px;overflow:auto;padding-bottom:1px}.social-pill{white-space:nowrap;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:8px 10px;font-size:10px;cursor:pointer}.social-pill.active{background:#fff;color:#111}
.add-dish-row{margin:10px 0 2px}.add-dish-btn{width:100%;border:1px dashed #b9b9b3;background:#fff;border-radius:13px;padding:11px;font-size:11px;font-weight:850;cursor:pointer}.custom-dish-rate{border-color:#f0c99e;background:#fffaf5}.custom-dish-tag{display:inline-block;margin-left:5px;background:#fff0df;color:#9b4f08;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:850;vertical-align:middle}.custom-dish-remove{border:0;background:none;color:#9b4f08;font-size:10px;cursor:pointer;text-decoration:underline;padding:0;margin-top:5px}

/* Supabase private beta */
.sync-badge{font-size:8px;font-weight:900;letter-spacing:.06em;border-radius:999px;padding:5px 7px;background:#eaf5ef;color:#14653f}
.sync-badge.offline{background:#fff1e8;color:#a54b00}
.loading-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px;color:var(--muted);font-size:11px}
.auth-note{font-size:9px;color:var(--muted);line-height:1.4;margin-top:8px}
.photo-thumb{width:100%;height:100%;object-fit:cover;border-radius:15px;position:absolute;inset:0}
.photo-placeholder{position:relative;overflow:hidden}
.photo-placeholder .photo-label{position:relative;z-index:2;background:linear-gradient(transparent,rgba(0,0,0,.65));margin:-9px;padding:44px 9px 9px}
.photo-placeholder.has-real-photo{background:#ddd}
.supabase-error{background:#fff0ee;border:1px solid #f1c1ba;color:#8f2e22;border-radius:13px;padding:10px;font-size:10px;margin:8px 0}

/* v1.1 review-history navigation */
.review-history[data-review-restaurant]{cursor:pointer}
.review-history[data-review-restaurant]:hover{box-shadow:0 4px 16px rgba(0,0,0,.05)}
.review-history[data-review-restaurant] h3::after{content:'  →';color:var(--muted);font-weight:700}

/* v1.2 REFERENCE RESTORE — exact approved visual language */
.social-card{
  background:linear-gradient(135deg,#171717,#303030)!important;
  color:#fff!important;
  border-radius:22px!important;
  padding:17px!important;
  margin:4px 0 16px!important
}
.social-kicker{font-size:10px;opacity:.65;text-transform:uppercase;letter-spacing:.08em;font-weight:900}
.social-card h2{font-size:22px!important;line-height:1.08!important;margin:7px 0 9px!important;letter-spacing:-.04em}
.social-card p{margin:0!important;color:#d4d4d4!important;font-size:12px!important;line-height:1.45!important}
.social-pills{display:flex!important;gap:6px!important;margin-top:13px!important;overflow:auto!important;padding-bottom:1px!important;flex-wrap:nowrap!important}
.social-pill{white-space:nowrap;border:0!important;background:rgba(255,255,255,.12)!important;color:#fff!important;border-radius:999px!important;padding:8px 10px!important;font-size:10px!important;cursor:pointer!important}
.social-pill.active{background:#fff!important;color:#111!important}

.profile-top{background:#151515!important;color:#fff!important;border-radius:22px!important;padding:17px!important;margin-bottom:14px!important}
.profile-identity-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
.profile-identity{display:flex!important;align-items:center!important;gap:11px!important}
.profile-avatar{width:54px!important;height:54px!important;border-radius:50%!important;background:#f1eadc!important;color:#000!important;display:grid!important;place-items:center!important;font-size:23px!important;font-weight:950!important}
.profile-identity h1{margin:0!important;font-size:23px!important;letter-spacing:-.04em!important}
.profile-handle{font-size:10px!important;color:#d8d8d8!important;margin-top:2px!important}
.profile-message{position:relative!important;border:0!important;background:#f7f7f7!important;width:38px!important;height:38px!important;border-radius:50%!important;display:grid!important;place-items:center!important;cursor:pointer!important}
.profile-message span{position:absolute!important;right:-2px!important;top:-4px!important;background:#f27622!important;color:#fff!important;border-radius:999px!important;min-width:17px!important;height:17px!important;padding:0 4px!important;display:grid!important;place-items:center!important;font-size:9px!important;font-weight:900!important}
.reference-actions{display:flex!important;gap:7px!important;margin-top:14px!important}
.reference-actions button,.profile-wide-btn{flex:1!important;background:#f7f7f7!important;color:#111!important;border:0!important;border-radius:10px!important;min-height:39px!important;font-size:10px!important;font-weight:850!important}
.profile-overview{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:7px!important;margin-bottom:18px!important}
.profile-overview div{background:#efefec!important;border-radius:14px!important;padding:12px!important;min-height:76px!important}
.profile-overview b{display:block!important;font-size:15px!important}
.profile-overview span{font-size:9px!important;color:#686863!important}
.profile-section-title{margin-top:20px!important}
.foodprint-card{background:#fff!important;border:1px solid var(--line)!important;border-radius:18px!important;padding:13px!important}
.foodprint-label{display:block!important;font-size:10px!important;margin:4px 0 7px!important}
.foodprint-card .foodprint{margin-bottom:13px!important}
.foodprint-card p{font-size:11px!important;color:var(--muted)!important;margin:7px 0 0!important;line-height:1.45!important}
.status-card,.profile-photo-card,.contribution-card{background:#fff!important;border:1px solid var(--line)!important;border-radius:16px!important;padding:12px!important;margin-bottom:8px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px!important}
.status-card b,.profile-photo-card b,.contribution-card b{font-size:12px!important}
.status-card span,.profile-photo-card span,.contribution-card small{display:block!important;font-size:9px!important;color:var(--muted)!important;margin-top:2px!important}
.status-card button{border:0!important;background:none!important;font-size:17px!important;cursor:pointer!important}
.profile-photo-card strong{font-size:12px!important;white-space:nowrap!important}
.contribution-card>div{display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important}
.contribution-card small{flex-basis:100%!important;padding-left:21px!important}
.contrib-icon{font-size:11px!important}
.contribution-card>strong{white-space:nowrap!important}
.profile-links{display:flex!important;justify-content:space-between!important;gap:10px!important;margin:14px 2px 4px!important}
.profile-links button{border:0!important;background:none!important;text-decoration:underline!important;font-size:9px!important;color:#4a4a48!important;cursor:pointer!important;padding:0!important}

/* v1.3 CHECK-IN VISUAL RESTORE */
.checkin-dish-card{
  position:relative!important;
  background:linear-gradient(180deg,#fff,#fbfbf8)!important;
  border:1px solid #e2e2dc!important;
  border-radius:17px!important;
  padding:13px!important;
  margin:9px 0!important;
  box-shadow:0 1px 0 rgba(0,0,0,.02)!important;
}
.checkin-dish-card.selected{
  border-color:#f0a66d!important;
  box-shadow:inset 0 0 0 1px #ffd2b1!important;
  background:#fffaf5!important;
}
.checkin-dish-main{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.checkin-dish-card .dish-toggle{
  flex:1!important;
  display:flex!important;
  gap:9px!important;
  align-items:flex-start!important;
  cursor:pointer!important;
}
.checkin-dish-card .dish-toggle input{
  margin-top:3px!important;
  width:16px!important;
  height:16px!important;
  accent-color:var(--food)!important;
}
.checkin-dish-copy b{
  display:block!important;
  font-size:13px!important;
  line-height:1.25!important;
}
.checkin-dish-copy .meta{
  margin-top:3px!important;
  font-size:9px!important;
  line-height:1.35!important;
}
.dish-photo-link{
  flex:0 0 auto!important;
  border:0!important;
  background:transparent!important;
  color:#8b8b85!important;
  font-size:9px!important;
  font-weight:800!important;
  padding:3px 2px!important;
  cursor:pointer!important;
  text-transform:lowercase!important;
}
.dish-photo-link:hover{
  color:#333!important;
  text-decoration:underline!important;
}
.dish-photo-link.has-photo{
  color:var(--green)!important;
  text-decoration:none!important;
}
.checkin-dish-card .rate-row{
  margin-top:11px!important;
  gap:6px!important;
}
.checkin-dish-card .rate-row button{
  background:#f1f1ed!important;
  border:1px solid #e5e5df!important;
  border-radius:10px!important;
  padding:9px 0!important;
  font-weight:850!important;
}
.checkin-dish-card .rate-row button.active{
  background:var(--food)!important;
  border-color:var(--food)!important;
  color:#fff!important;
}
.checkin-dish-card .s-tier-wrap{
  background:var(--purple-soft)!important;
  border:1px solid #d7c8ee!important;
  color:#4f347f!important;
  border-radius:10px!important;
  padding:8px!important;
  margin-top:8px!important;
}
.custom-dish-remove{
  border:0!important;
  background:transparent!important;
  color:#9a3e32!important;
  font-size:9px!important;
  padding:7px 0 0!important;
  cursor:pointer!important;
  text-decoration:underline!important;
}
.custom-dish-tag{
  display:inline-block!important;
  margin-left:6px!important;
  border-radius:999px!important;
  padding:2px 5px!important;
  background:#efe8fb!important;
  color:#664796!important;
  font-size:7px!important;
  vertical-align:1px!important;
}
.review-box{
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:22px!important;
  padding:16px!important;
}
.review-box>.notice{
  background:#fff1d2!important;
  color:#6f5314!important;
  border-radius:12px!important;
  padding:10px 11px!important;
  font-size:10px!important;
  line-height:1.35!important;
}
#addCustomDish{
  border:1px dashed #d9d9d2!important;
  background:#fff!important;
  border-radius:15px!important;
  font-weight:850!important;
  min-height:46px!important;
}

/* v1.4 interaction fixes */
.my-confirm-note{font-size:8px;color:#666;font-weight:750}
.confirm-row button.my-confirmed{background:#e8f5ed!important;border-color:#b8dfc7!important;color:#12683e!important}
.confirm-row button.my-reported{background:#fff0eb!important;border-color:#efc2b8!important;color:#9a3e32!important}
.want-modal-list{display:grid;gap:7px;margin-top:10px}
.want-modal-place{width:100%;border:1px solid var(--line);background:#fff;border-radius:14px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer}
.want-modal-place b{display:block;font-size:12px}
.want-modal-place small{display:block;color:var(--muted);font-size:9px;margin-top:2px}
.want-modal-place>span:last-child{font-size:11px;font-weight:900}

/* v1.7 community work setup editor */
.work-update-btn{margin-top:8px!important}
.work-edit-field{margin:14px 0}
.work-edit-field>b{display:block;font-size:11px;margin-bottom:7px}
.work-edit-options{display:flex;gap:6px;flex-wrap:wrap}
.work-edit-options button{border:1px solid var(--line);background:var(--pill);border-radius:999px;padding:7px 9px;font-size:9px;cursor:pointer}
.work-edit-options button.active{background:#111;color:#fff;border-color:#111}
.work-respect-note{background:#f5f5f1;border-radius:11px;padding:9px;font-size:9px;color:var(--muted);line-height:1.4;margin-top:12px}

/* v1.7.1 work-answer toggles */
.work-edit-options button.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}

/* v1.7.3 auth recovery */
.forgot-password-link{
  width:100%;
  border:0;
  background:transparent;
  padding:10px 4px 4px;
  font-size:10px;
  text-decoration:underline;
  cursor:pointer;
}

/* v1.8 real profiles */
.profile-avatar{overflow:hidden}
.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile-avatar.large{width:76px;height:76px;font-size:28px}
.profile-bio{font-size:10px;line-height:1.35;color:var(--muted);margin-top:4px;max-width:260px}
.profile-edit-avatar-wrap{display:flex;align-items:center;gap:12px;margin:14px 0}
.profile-edit-form label{display:block;font-size:10px;font-weight:700;margin:9px 0}
.profile-edit-form label>span{font-weight:400;color:var(--muted)}
.profile-edit-form input,.profile-edit-form textarea{display:block;width:100%;margin-top:5px;box-sizing:border-box}
.profile-edit-form textarea{min-height:72px;resize:vertical}
.muted-chip{opacity:.6}

/* v1.8.3 profile + compact repeat-review history */
.review-history-title{
  display:flex;
  align-items:center;
  gap:5px;
}
.review-history-title h3{margin:0}
.tiny-visit-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:2px 5px;
  border-radius:999px;
  background:#efefea;
  color:#666;
  font-size:8px;
  font-weight:800;
  line-height:1;
}

/* v1.8.4 YOU photo gallery + compact restaurant status */
.restaurant-status-badge{
  display:inline-flex;
  align-items:center;
  padding:2px 6px;
  border-radius:999px;
  background:#f6f1da;
  color:#665b22;
  font-size:8px;
  font-weight:800;
  line-height:1;
}
.my-photo-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  max-height:58vh;
  overflow:auto;
  margin:12px 0;
}
.my-photo-item{
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.my-photo-item img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
}
.my-photo-meta{
  padding:8px;
}
.my-photo-meta b,
.my-photo-meta span{
  display:block;
}
.my-photo-meta b{
  font-size:10px;
}
.my-photo-meta span{
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
  line-height:1.3;
}
.profile-photo-card{
  cursor:pointer;
}

/* =========================================================
   v1.9 social profiles
   ========================================================= */
.post-user-link{
  border:0;
  background:transparent;
  padding:0;
  font:inherit;
  font-weight:800;
  color:inherit;
  cursor:pointer;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:2px;
}
.public-profile-sheet{
  padding-bottom:8px;
}
.public-profile-head{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-bottom:14px;
}
.public-profile-name{
  min-width:0;
  flex:1;
}
.public-profile-name h2{
  margin:1px 0 2px;
}
.public-profile-name p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:10px;
  line-height:1.4;
}
.follow-btn,.mini-follow{
  border:0;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:9px;
  font-weight:800;
  padding:7px 10px;
  cursor:pointer;
}
.follow-btn.following,.mini-follow.following{
  background:#efefea;
  color:#333;
}
.public-profile-stats{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
  margin:10px 0 16px;
}
.public-profile-stats>div{
  background:#f4f3ee;
  border-radius:11px;
  padding:9px 5px;
  text-align:center;
}
.public-profile-stats b,.public-profile-stats span{
  display:block;
}
.public-profile-stats b{
  font-size:14px;
}
.public-profile-stats span{
  margin-top:2px;
  color:var(--muted);
  font-size:8px;
}
.public-review-list{
  display:grid;
  gap:8px;
}
.public-review-card{
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
  cursor:pointer;
}
.public-review-card h3{
  margin:0;
  font-size:11px;
}
.public-photo-groups{
  display:grid;
  gap:7px;
}
.public-photo-groups .profile-photo-card{
  width:100%;
  text-align:left;
  border:1px solid var(--line);
}
.people-search-row{
  margin:10px 0;
}
.people-results{
  display:grid;
  gap:7px;
  max-height:58vh;
  overflow:auto;
}
.person-result{
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:8px;
  cursor:pointer;
}
.person-result-text{
  flex:1;
  min-width:0;
}
.person-result-text b,.person-result-text span{
  display:block;
}
.person-result-text b{
  font-size:10px;
}
.person-result-text span{
  margin-top:2px;
  font-size:8px;
  color:var(--muted);
}
.person-you{
  color:var(--muted);
  font-size:8px;
  font-weight:800;
}

/* v1.9.2 profile photo repositioning */
.avatar-position-preview{
  flex:0 0 auto;
}
.avatar-position-controls{
  background:#f5f5f1;
  border-radius:12px;
  padding:10px;
  margin:0 0 12px;
}
.avatar-position-controls.is-hidden{
  display:none;
}
.avatar-position-title{
  font-size:10px;
  font-weight:800;
  margin-bottom:8px;
}
.avatar-position-controls label{
  display:block;
  font-size:9px;
  font-weight:700;
  margin:8px 0;
}
.avatar-position-controls input[type="range"]{
  display:block;
  width:100%;
  margin-top:5px;
}
.avatar-position-reset{
  border:0;
  background:transparent;
  text-decoration:underline;
  font-size:9px;
  padding:3px 0;
  cursor:pointer;
  color:var(--muted);
}

/* =========================================================
   v1.10 restaurant search + add
   ========================================================= */
.restaurant-search-wrap{
  margin:10px 0 12px;
}
.restaurant-search-box{
  display:flex;
  align-items:center;
  gap:7px;
}
.restaurant-search-box input{
  flex:1;
  min-width:0;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 11px;
  background:#fff;
  font:inherit;
  font-size:10px;
}
.restaurant-search-box>button{
  width:36px;
  height:36px;
  border:0;
  border-radius:11px;
  background:#111;
  color:#fff;
  font-size:18px;
  cursor:pointer;
}
.restaurant-search-results{
  display:none;
  margin-top:7px;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.restaurant-search-box:focus-within + .restaurant-search-results,
.restaurant-search-results:hover{
  display:block;
}
.restaurant-search-result{
  width:100%;
  border:0;
  border-bottom:1px solid var(--line);
  background:#fff;
  padding:9px 10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-align:left;
  cursor:pointer;
}
.restaurant-search-result:last-child{
  border-bottom:0;
}
.restaurant-search-result b,
.restaurant-search-result span{
  display:block;
}
.restaurant-search-result b{
  font-size:10px;
}
.restaurant-search-result span{
  margin-top:2px;
  color:var(--muted);
  font-size:8px;
}
.restaurant-search-result strong{
  font-size:9px;
}
.restaurant-search-empty{
  padding:11px;
}
.restaurant-search-empty b,
.restaurant-search-empty span{
  display:block;
}
.restaurant-search-empty b{
  font-size:10px;
}
.restaurant-search-empty span{
  color:var(--muted);
  font-size:8px;
  margin:3px 0 8px;
}
.restaurant-search-empty button{
  border:0;
  border-radius:999px;
  padding:7px 10px;
  background:#111;
  color:#fff;
  font-size:9px;
  cursor:pointer;
}
.restaurant-add-form label{
  display:block;
  margin:9px 0;
  font-size:9px;
  font-weight:800;
}
.restaurant-add-form input{
  display:block;
  width:100%;
  box-sizing:border-box;
  margin-top:5px;
}
.restaurant-add-row{
  display:grid;
  grid-template-columns:1.6fr .8fr 1fr;
  gap:7px;
}
.restaurant-price-picker{
  display:flex;
  gap:5px;
  flex-wrap:wrap;
  margin-top:5px;
}
.restaurant-price-picker button{
  border:1px solid var(--line);
  border-radius:999px;
  background:#f4f3ee;
  padding:6px 8px;
  font-size:8px;
  cursor:pointer;
}
.restaurant-price-picker button.active{
  background:#111;
  color:#fff;
  border-color:#111;
}
.restaurant-community-note{
  background:#f5f5f1;
  border-radius:11px;
  padding:9px;
  margin:10px 0;
  color:var(--muted);
  font-size:8px;
  line-height:1.4;
}
.community-added-badge{
  display:inline-block;
  margin-top:4px;
  padding:3px 7px;
  border-radius:999px;
  background:#eef3e8;
  color:#53623f;
  font-size:8px;
  font-weight:800;
}

/* v1.10.1 clearer chain/location search results */
.restaurant-search-meta{
  margin-top:2px;
}
.restaurant-search-address{
  margin-top:3px!important;
  color:var(--muted);
  font-size:8px!important;
  line-height:1.3;
}

/* v1.10.2 always-visible restaurant addresses */
.restaurant-card-address{
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
  line-height:1.3;
}
.restaurant-search-address{
  display:block!important;
}

/* =========================================================
   v1.10.3 edit/delete review history
   ========================================================= */
.review-card-right{
  display:flex;
  align-items:center;
  gap:5px;
}
.review-manage-btn{
  border:0;
  background:transparent;
  border-radius:999px;
  padding:4px 6px;
  color:var(--muted);
  font-size:12px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
}
.review-manage-btn:hover{
  background:#f0efe9;
}
.review-manager-list{
  display:grid;
  gap:9px;
  max-height:58vh;
  overflow:auto;
  margin:12px 0;
}
.review-manager-item{
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
  background:#fff;
}
.review-manager-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
  margin-bottom:7px;
}
.review-manager-head b,
.review-manager-head span{
  display:block;
}
.review-manager-head b{
  font-size:10px;
}
.review-manager-head span{
  margin-top:2px;
  color:var(--muted);
  font-size:8px;
}
.review-manager-actions{
  display:flex;
  gap:5px;
}
.review-manager-actions button{
  padding:6px 8px;
  border-radius:999px;
  font-size:8px;
  cursor:pointer;
}
.review-delete-btn{
  border:1px solid #e1b7b7;
  background:#fff3f3;
  color:#8a3333;
}
.review-edit-section-label{
  display:block;
  font-size:10px;
  font-weight:800;
  margin-bottom:7px;
}
.review-edit-dishes{
  margin:12px 0;
}
.review-edit-dish{
  border:1px solid var(--line);
  border-radius:11px;
  padding:9px;
  margin-bottom:7px;
}
.review-edit-dish-top{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  font-size:9px;
  font-weight:700;
  margin-bottom:7px;
}
.review-stier-toggle{
  white-space:nowrap;
}
.review-score-row{
  display:grid!important;
  grid-template-columns:repeat(5,1fr);
}
.review-edit-question{
  margin:12px 0;
}
.review-edit-question>label{
  display:block;
  font-size:9px;
  font-weight:800;
  margin-bottom:6px;
}
.review-edit-question textarea{
  width:100%;
  min-height:70px;
  box-sizing:border-box;
}

/* v1.10.4 single restaurant search */
#restaurantSearchWrap,
.restaurant-search-wrap{
  display:none!important;
}
.top-search-row{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
}
.top-search-row > input{
  flex:1;
  min-width:0;
}
.top-restaurant-add{
  flex:0 0 38px;
  width:38px;
  height:38px;
  border:0;
  border-radius:12px;
  background:#111;
  color:#fff;
  font-size:20px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
}

/* v1.10.5 clickable followers / following */
.profile-stat-button,
.public-stat-button{
  appearance:none;
  border:0;
  background:inherit;
  color:inherit;
  font:inherit;
  padding:inherit;
  margin:0;
  cursor:pointer;
  text-align:center;
  border-radius:inherit;
}
.profile-stat-button b,
.profile-stat-button span,
.public-stat-button b,
.public-stat-button span{
  display:block;
}
.profile-stat-button:hover,
.public-stat-button:hover{
  filter:brightness(.97);
}
.profile-stat-button:active,
.public-stat-button:active{
  transform:scale(.98);
}

/* =========================================================
   v1.11 PWA / installable app
   ========================================================= */
.install-steps{
  display:grid;
  gap:9px;
  margin:14px 0;
}
.install-steps>div{
  display:flex;
  align-items:flex-start;
  gap:9px;
  background:#f4f3ee;
  border-radius:11px;
  padding:9px;
}
.install-steps>div>b{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 23px;
  width:23px;
  height:23px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:9px;
}
.install-steps>div>span{
  padding-top:3px;
  font-size:10px;
  line-height:1.35;
}
.install-done-btn{
  width:100%;
  padding:11px;
  border-radius:11px;
  border:0;
  margin-top:8px;
}
@media (display-mode: standalone){
  body{
    overscroll-behavior-y:none;
  }
  .app{
    min-height:100dvh;
  }
}

/* =========================================================
   v1.12 safety / moderation / account deletion
   ========================================================= */
.public-profile-actions{
  display:flex;
  align-items:center;
  gap:5px;
}
.profile-more-btn{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  width:31px;
  height:31px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.safety-action-list,
.safety-settings-list{
  display:grid;
  gap:8px;
  margin:13px 0;
}
.safety-action-list button,
.safety-settings-list button{
  width:100%;
  border:1px solid var(--line);
  background:#fff;
  border-radius:12px;
  padding:10px;
  text-align:left;
  cursor:pointer;
}
.safety-settings-list button b,
.safety-settings-list button span{
  display:block;
}
.safety-settings-list button b{
  font-size:10px;
}
.safety-settings-list button span{
  color:var(--muted);
  margin-top:3px;
  font-size:8px;
  line-height:1.35;
}
.danger-setting{
  color:#8b2d2d!important;
  border-color:#e6c5c5!important;
  background:#fff7f7!important;
}
.danger-action{
  border:0;
  background:#9b2d2d;
  color:#fff;
  border-radius:11px;
  padding:10px 12px;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}
.danger-action:disabled{
  opacity:.55;
  cursor:default;
}
.danger-eyebrow{
  color:#9b2d2d;
}
.blocked-user-list{
  display:grid;
  gap:7px;
  max-height:52vh;
  overflow:auto;
  margin:12px 0;
}
.blocked-user-row{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:8px;
}
.blocked-user-row>div:nth-child(2){
  flex:1;
}
.blocked-user-row b,
.blocked-user-row span{
  display:block;
}
.blocked-user-row b{
  font-size:10px;
}
.blocked-user-row span{
  color:var(--muted);
  font-size:8px;
  margin-top:2px;
}
.blocked-user-row>button{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:6px 8px;
  font-size:8px;
  cursor:pointer;
}
.report-reasons{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:12px 0;
}
.report-reasons button{
  border:1px solid var(--line);
  background:#f4f3ee;
  border-radius:999px;
  padding:7px 9px;
  font-size:8px;
  cursor:pointer;
}
.report-reasons button.active{
  background:#111;
  color:#fff;
  border-color:#111;
}
.report-details-label{
  display:block;
  font-size:9px;
  font-weight:800;
}
.report-details-label textarea{
  display:block;
  width:100%;
  box-sizing:border-box;
  min-height:74px;
  margin-top:6px;
}
.content-report-link{
  border:0!important;
  background:transparent!important;
  color:var(--muted)!important;
  padding:2px 0!important;
  margin-left:5px;
  font-size:8px!important;
  text-decoration:underline;
  cursor:pointer;
}
.photo-label .content-report-link{
  display:block;
  margin:4px 0 0;
}
.privacy-summary{
  background:#f5f5f1;
  border-radius:12px;
  padding:10px;
  margin:12px 0;
}
.privacy-summary p{
  font-size:9px;
  line-height:1.45;
  margin:7px 0;
}
.safety-wide-btn{
  width:100%;
  padding:11px;
  border-radius:11px;
  border:0;
}

/* v1.12.1 discussion visibility + clearer unblocking */
.my-discussion-post{
  border-left:3px solid #111;
}
.settings-list #settingsBlocked{
  font-weight:700;
}

/* =========================================================
   v1.13 discussion interactions
   ========================================================= */
.post-actions button.active{
  background:#111;
  color:#fff;
  border-color:#111;
}
.post-actions button.disagree-active{
  background:#4b2730;
  border-color:#4b2730;
}
.discussion-thread{
  display:grid;
  gap:6px;
  margin-top:9px;
  padding-left:9px;
  border-left:1px solid var(--line);
}
.discussion-reply,
.discussion-disagreement{
  padding:7px 8px;
  border-radius:9px;
  background:#f5f4ef;
}
.discussion-disagreement{
  background:#fbf2f2;
}
.thread-kind{
  display:inline-block;
  margin-right:5px;
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
  color:var(--muted);
}
.thread-user{
  border:0;
  background:transparent;
  padding:0;
  font-size:8px;
  font-weight:800;
  cursor:pointer;
}
.discussion-thread p{
  margin:4px 0 0;
  font-size:9px;
  line-height:1.4;
}
.discussion-modal-text{
  width:100%;
  box-sizing:border-box;
  min-height:105px;
  margin:10px 0 6px;
}
.my-report-list{
  display:grid;
  gap:7px;
  margin:12px 0;
  max-height:55vh;
  overflow:auto;
}
.my-report-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid var(--line);
  border-radius:11px;
  padding:9px;
}
.my-report-row b,
.my-report-row span{
  display:block;
}
.my-report-row b{font-size:9px}
.my-report-row div>span{font-size:8px;color:var(--muted);margin-top:2px}
.report-status{
  flex:0 0 auto;
  border-radius:999px;
  padding:5px 7px;
  background:#eee;
  font-size:7px!important;
  font-weight:900;
  text-transform:uppercase;
}
.status-open{background:#fff0c7}
.status-reviewing{background:#e8efff}
.status-resolved{background:#e3f4e8}
.status-dismissed{background:#eee}

/* =========================================================
   v1.14 moderation inbox
   ========================================================= */
.moderation-report-list{
  display:grid;
  gap:9px;
  max-height:60vh;
  overflow:auto;
  margin:12px 0;
}
.moderation-report-card{
  border:1px solid var(--line);
  border-left-width:4px;
  background:#fff;
  border-radius:12px;
  padding:10px;
}
.status-border-open{border-left-color:#b45b3c}
.status-border-reviewing{border-left-color:#8a6d1d}
.status-border-resolved{border-left-color:#4d7556}
.status-border-dismissed{border-left-color:#888}
.moderation-report-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:8px;
}
.moderation-report-head b,
.moderation-report-head span{
  display:block;
}
.moderation-report-head b{
  font-size:10px;
}
.moderation-report-head>div>span{
  color:var(--muted);
  font-size:8px;
  margin-top:2px;
}
.moderation-target-user{
  margin-top:7px;
  font-size:8px;
  font-weight:700;
}
.moderation-report-details{
  margin:7px 0;
  padding:8px;
  background:#f4f3ee;
  border-radius:9px;
  font-size:9px;
  line-height:1.4;
}
.moderation-report-actions{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:8px;
}
.moderation-report-actions button{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:6px 8px;
  font-size:8px;
  cursor:pointer;
}
.moderation-report-actions .danger-mini{
  border-color:#e0baba;
  background:#fff4f4;
  color:#8a2f2f;
}
#settingsModeration{
  font-weight:800;
}

.logistics-grid{align-items:stretch;gap:7px}
.logistics-item{min-width:0;padding:11px!important;border-radius:14px!important;background:rgba(255,255,255,.86)!important}
.logistics-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}
.logistics-item-head strong{font-size:10px;letter-spacing:.01em}
.logistics-add{border:1px solid var(--line);background:var(--pill);color:var(--muted);border-radius:50%;width:26px;height:26px;padding:0;font-size:13px;font-weight:900;cursor:pointer;flex:0 0 auto}
.logistics-item p{margin:7px 0 4px;font-size:11px;line-height:1.4}
.logistics-item-foot{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px;color:var(--muted);font-size:8px}
.logistics-item-foot button{border:0;background:none;padding:0;color:var(--muted);font-size:8px;text-decoration:underline;cursor:pointer}
.logistics-item-foot span:last-child{margin-left:auto}
.logistics-tags,.logistics-edit-chips{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.logistics-tags span,.logistics-edit-chips button{border:1px solid var(--line);background:var(--pill);border-radius:999px;padding:6px 8px;font-size:8px}
.logistics-edit-label{font-size:10px;font-weight:850;margin:12px 0 6px}
.logistics-edit-chips button{cursor:pointer;font-family:inherit}
.logistics-edit-chips button.active{background:#111;color:#fff;border-color:#111}
.menu-photo-card{display:grid;grid-template-columns:64px 1fr;gap:7px;align-items:end;margin-top:7px}
.menu-photo-card img{width:72px;height:86px;object-fit:cover;border-radius:9px;cursor:pointer}
.menu-photo-card span{font-size:8px;color:var(--muted)}
.logistics-photo-add{border:0;background:none;color:var(--muted);font-size:8px;text-decoration:underline;padding:5px 0;cursor:pointer}
.phone-link{color:var(--text);font-size:11px;text-decoration:none}.phone-link:hover{text-decoration:underline}
.photo-delete-link{display:block;border:0;background:none;color:#9a3e32;font-size:8px;padding:4px 0 0;text-decoration:underline;cursor:pointer}
.guide-card{position:relative;overflow:hidden;border-left:4px solid var(--guide-color,#d8d5c9)!important;background:linear-gradient(110deg,color-mix(in srgb,var(--guide-color,#d8d5c9) 12%,#fff),#fff)!important}
.guide-card{background:#fff!important}.guide-card::before{content:'';position:absolute;inset:0 auto 0 0;width:34%;background:linear-gradient(90deg,var(--guide-color,#d8d5c9),transparent);opacity:.12;pointer-events:none}
.guide-card b{font-size:13px}.guide-card span{line-height:1.4}
.featured-restaurant-card{background:linear-gradient(120deg,#fff,#f7f4ea)!important;border-left:4px solid var(--food)!important}

/* Coordinated interaction polish */
.screen.active{animation:none}
.screen.screen-enter{animation:screen-in-forward 190ms ease both}
body[data-screen-direction="back"] .screen.screen-enter{animation-name:screen-in-back}
.social-card{background:linear-gradient(145deg,#171717,#252525)!important;border-radius:24px!important;padding:19px!important;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.social-pills{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px!important;overflow:visible!important}
.social-pill{min-width:0;overflow:hidden;text-overflow:ellipsis;border:1px solid rgba(255,255,255,.08)!important;background:linear-gradient(180deg,#3b3b3b,#292929)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 2px 5px rgba(0,0,0,.15);padding:8px 7px!important;transition:background 180ms ease,transform 180ms ease,color 180ms ease}
.social-pill.active{background:#f4f4ef!important;color:#111!important;box-shadow:none}
.social-pill:active,.post-actions button:active,.restaurant-card:active{transform:scale(.98)}
.restaurant-search-add{opacity:1;transition:opacity 180ms ease,transform 180ms ease}
.restaurant-search-add[hidden]{display:block;opacity:0;transform:translateY(-4px);pointer-events:none;height:0;margin:0}
.restaurant-search-add button{transition:background 160ms ease,transform 160ms ease}
.map-focuses{display:flex;gap:6px;overflow-x:auto;margin:0 0 9px;padding-bottom:2px}
.map-focuses button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 9px;font-size:9px;white-space:nowrap;cursor:pointer;transition:background 160ms ease,color 160ms ease}
.map-focuses button.active{background:#171717;color:#fff;border-color:#171717}
.empty-map{background:linear-gradient(155deg,#e8e7df,#d5d7d1)!important}
.empty-map::before{content:'BRONX\A\A MANHATTAN        QUEENS\A\A BROOKLYN';white-space:pre;position:absolute;inset:28px 0 0 0;text-align:center;color:rgba(39,45,43,.28);font-size:9px;font-weight:900;line-height:5.2;letter-spacing:.08em;pointer-events:none}
.pulse-pin{width:var(--buzz-size);height:var(--buzz-size);padding:5px;border-radius:50%;display:grid;place-items:center;text-align:center;line-height:1.05;overflow:hidden;text-overflow:ellipsis;transition:transform 180ms ease,box-shadow 180ms ease;z-index:2;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 14%,transparent),0 0 18px color-mix(in srgb,currentColor 20%,transparent)}
.pulse-pin::before{content:'';position:absolute;inset:-12px;border-radius:50%;background:radial-gradient(circle,currentColor 0,transparent 68%);opacity:.16;z-index:-1}
.pulse-pin[style*="--buzz-size: 76px"],.pulse-pin[style*="--buzz-size: 75px"],.pulse-pin[style*="--buzz-size: 74px"]{animation:pulse-aura 1.8s ease-in-out infinite}
.pulse-pin:hover{transform:scale(1.06);box-shadow:0 7px 18px rgba(0,0,0,.2)}
.map-pop-dish,.map-pop-activity{font-size:10px;color:var(--muted);margin-top:7px}
.featured-restaurant-card{display:block;width:100%;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left;padding:13px;cursor:pointer;transition:transform 180ms ease,box-shadow 180ms ease}
.featured-restaurant-card:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.07)}
.featured-restaurant-card b,.featured-restaurant-card>span:last-child{display:block}.featured-restaurant-card b{font-size:17px;margin:4px 0}.featured-restaurant-card>span:last-child{font-size:10px;color:var(--muted)}
.community-post{border-left:4px solid #353535;transition:box-shadow 180ms ease}
.discussion-accent-0{border-left-color:#343434}.discussion-accent-1{border-left-color:#263c54}.discussion-accent-2{border-left-color:#49344d}.discussion-accent-3{border-left-color:#28503d}.discussion-accent-4{border-left-color:#553338}
.discussion-thread{margin-left:8px}
.post-actions .thanks-reaction.active{background:#f5a7c5;color:#55152e;border-color:#e78aaa}.post-actions .funny-reaction.active{background:#f5d66d;color:#594400;border-color:#e1bf4c}.post-actions .disagree-active{background:#4b2730;color:#fff}
.post-actions button{transition:background 170ms ease,color 170ms ease,transform 170ms ease}
.address-link,.restaurant-card-address{transition:color 160ms ease}
@keyframes screen-in-forward{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
@keyframes screen-in-back{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}
@keyframes result-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes pulse-aura{0%,100%{box-shadow:0 0 0 5px color-mix(in srgb,currentColor 14%,transparent),0 0 18px color-mix(in srgb,currentColor 20%,transparent)}50%{box-shadow:0 0 0 9px color-mix(in srgb,currentColor 8%,transparent),0 0 25px color-mix(in srgb,currentColor 28%,transparent)}}
.modal.show .sheet{animation:sheet-rise 190ms ease both}
.sheet{border-radius:26px 26px 0 0;box-shadow:0 -8px 28px rgba(0,0,0,.12)}
.sheet-actions button{min-height:40px;cursor:pointer;transition:transform 160ms ease,background 160ms ease}
.sheet-actions button:active{transform:scale(.98)}
@keyframes sheet-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:390px){.social-pills{grid-template-columns:repeat(2,minmax(0,1fr))}.social-pill{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
