:root{color:#241713;font-synthesis:none;text-rendering:optimizelegibility;--charcoal:#120f0d;--charcoal-2:#211713;--crust:#4a1713;--meat:#b73736;--meat-dark:#7d201f;--fat:#f0bf68;--salt:#fff7ec;--salt-2:#f7ead8;--smoke:#6f6258;--herb:#237261;--blue:#2f6892;--line:#4a171329;--shadow:0 18px 44px #25110c2e;background:#f6efe4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(110deg,#120f0de6 0%,#4a1713c7 42%,#f6efe4d1 100%),url(/steak-texture.jpg) 50%/cover fixed,#f6efe4;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}.app-shell{background:radial-gradient(circle at 58% 12%,#f0bf6833,#0000 26%),linear-gradient(90deg,#120f0df5,#120f0d85 45%,#f6efe433);grid-template-columns:minmax(360px,420px) 1fr;min-height:100vh;display:grid}.sidebar{background:linear-gradient(#fff7ecfa,#f7ead8f2),#fff7ec;border-right:1px solid #fff7ec4d;flex-direction:column;gap:16px;height:100vh;padding:18px;display:flex;overflow:auto;box-shadow:20px 0 44px #120f0d42}.brand-bar,.map-toolbar,.dock-header,.modal-header,.section-title,.filter-heading,.card-top,.card-title-row,.external-row,.toolbar-actions{align-items:center;display:flex}.brand-bar{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;gap:12px;padding:0}.brand-bar:hover .brand-mark,.brand-bar:focus-visible .brand-mark{transform:translateY(-1px);box-shadow:0 16px 32px #7d201f57,0 5px 12px #120f0d33}.brand-bar:focus-visible{outline-offset:4px;border-radius:10px;outline:2px solid #b7373673}.brand-mark{object-fit:cover;background:#3a140f;border:1px solid #fff7ec57;border-radius:14px;width:54px;height:54px;transition:transform .16s,box-shadow .16s;display:block;box-shadow:0 14px 28px #7d201f47,0 4px 10px #120f0d2e}.eyebrow{color:var(--meat-dark);letter-spacing:0;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{color:var(--charcoal);margin-bottom:0;font-size:29px;line-height:1.1}h2{color:var(--salt);text-shadow:0 2px 14px #120f0d47;margin-bottom:0;font-size:25px;line-height:1.2}h3{color:var(--charcoal);margin-bottom:0;font-size:18px;line-height:1.25}.search-panel,.result-panel,.submission-modal,.detail-dock{background:linear-gradient(180deg, #fffaf2fa, #f7ead8f5), var(--salt);box-shadow:var(--shadow);border:1px solid #7d201f2e;border-radius:8px}.member-panel{background:#fffaf2c7;border:1px solid #7d201f24;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:12px;display:flex}.member-panel div{gap:3px;min-width:0;display:grid}.member-panel strong{color:var(--charcoal);font-size:13px}.member-panel span{color:#3a2119b8;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800;overflow:hidden}.member-panel small{color:#7d201f;font-size:12px;font-weight:900}.member-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:inline-flex}.member-panel button,.admin-edit-button,.text-action{color:#7d201f;cursor:pointer;background:#ffffffc7;border:1px solid #7d201f29;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:34px;font-size:13px;font-weight:900;display:inline-flex}.admin-edit-button{color:#195b4e;border-color:#23726133}.member-panel button.active{color:#fff9ef;background:#7d201f;border-color:#7d201f61}.search-panel{padding:14px}.search-box{width:100%;height:44px;color:var(--crust);background:#fffaf2;border:1px solid #7d201f38;border-radius:8px;align-items:center;gap:8px;padding:0 12px;display:flex;box-shadow:inset 0 1px #fffc}.search-box input{width:100%;min-width:0;color:var(--charcoal);background:0 0;border:0;outline:0}.search-box input::placeholder{color:#4a17138a}.filter-block{margin-top:16px}.filter-heading{color:var(--crust);gap:6px;margin-bottom:8px;font-size:13px;font-weight:900}.segmented,.tier-row{flex-wrap:wrap;gap:7px;display:flex}.segmented button,.tier-row button,.section-title button,.external-row a,.primary-action{color:#2c1712;background:#fffaf2;border:1px solid #7d201f33;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:36px;font-size:13px;font-weight:900;text-decoration:none;display:inline-flex;box-shadow:inset 0 1px #ffffffc2}.segmented button,.tier-row button{padding:0 10px}.segmented button:hover,.tier-row button:hover,.external-row a:hover,.icon-button:hover{border-color:#b737367a;transform:translateY(-1px)}.segmented button.active,.tier-row button.active{color:var(--salt);background:linear-gradient(135deg, var(--meat), var(--meat-dark) 60%, var(--crust)), var(--meat);border-color:var(--meat-dark)}.tier-row .tier-strict.active,.tier-badge.tier-strict{color:#fff9ef;background:linear-gradient(135deg,#d94b43,#8b1f1e);border-color:#8b1f1e}.tier-row .tier-friendly.active,.tier-badge.tier-friendly{color:#fff9ef;background:linear-gradient(135deg,#2e8a73,#195b4e);border-color:#195b4e}.tier-row .tier-keto.active,.tier-badge.tier-keto{color:#fff9ef;background:linear-gradient(135deg,#3d7ea7,#264f75);border-color:#264f75}.data-source{color:#5b392e;background:#fffaf2d1;border:1px solid #7d201f1f;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:9px 11px;font-size:12px;font-weight:900;display:flex}.data-source a{color:inherit;align-items:center;gap:5px;text-decoration:none;display:inline-flex}.data-source a:hover{text-decoration:underline}.data-source.data-sheet{color:#195b4e;background:#2372611a;border-color:#23726133}.data-source.data-loading{color:#244f75;background:#2f689214;border-color:#2f68922e}.data-source.data-failed{color:#7d201f;background:#b7373614;border-color:#b7373633}.result-panel{flex-direction:column;flex:1;min-height:0;padding:14px;display:flex}.section-title{color:var(--crust);justify-content:space-between;gap:12px;margin-bottom:10px;font-weight:900}.section-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:inline-flex}.section-title button{color:var(--salt);background:linear-gradient(135deg,#cf413c,#811f1e);border-color:#811f1e;padding:0 12px}.section-title .admin-create-button{background:linear-gradient(135deg,#2e8a73,#195b4e);border-color:#195b4e}.section-title .favorites-list-button{color:#7d201f;background:#fffaf2eb;border-color:#7d201f38}.section-title .favorites-list-button.active{color:var(--salt);background:linear-gradient(135deg,#b73736,#7d201f);border-color:#7d201f}.favorites-list-button small{color:#7d201f;background:#b737361f;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:950;line-height:1;display:inline-grid}.place-list{flex-direction:column;gap:12px;min-height:0;padding:2px 4px 12px 2px;display:flex;overflow:auto}.place-card{text-align:left;background:linear-gradient(135deg,#fffaf2fa,#f7ead8eb),#fff8ee;border:1px solid #7d201f29;border-radius:8px;flex:none;align-content:start;gap:8px;width:100%;min-height:0;padding:14px;transition:border-color .16s,transform .16s,box-shadow .16s,background .16s;display:grid;overflow:visible;box-shadow:0 10px 22px #4a171314}.place-card:hover,.place-card.selected{background:linear-gradient(135deg,#fffaf2,#ffeed3f5),#fff8ee;border-color:#b73736b8;transform:translateY(-1px);box-shadow:0 16px 32px #4a171329}.place-card.selected{outline:2px solid #f0bf689e}.card-top,.card-title-row{justify-content:space-between;gap:8px}.card-badge-row{flex:none;align-items:center;gap:6px;display:inline-flex}.favorite-indicator{color:#b73736;background:#fffaf2e6;border:1px solid #7d201f24;border-radius:50%;place-items:center;width:24px;height:24px;display:inline-grid}.category-chip,.demo-chip,.tier-badge,.item-row span,.tips-row span,.tips-row a{border-radius:8px;align-items:center;font-size:12px;font-weight:900;display:inline-flex}.category-chip{color:var(--crust);background:#4a171317;gap:5px;padding:5px 8px}.category-chip.cat-dining{color:#7d201f;background:#b7373621}.category-chip.cat-butcher{color:#4a1713;background:#4a171324}.category-chip.cat-market{color:#195b4e;background:#23726121}.category-chip.cat-bakery{color:#6f4304;background:#f0bf684d}.category-chip.cat-specialty{color:#67211d;background:#7d201f21}.category-chip.cat-clinic{color:#244f75;background:#2f689224}.category-chip.cat-online{color:#4d4039;background:#6f625824}.demo-chip{color:#4e2d05;background:#f0bf686b;padding:4px 7px}.tier-badge{justify-content:center;min-width:28px;padding:5px 8px}.place-card h3{margin:0}.place-card p{color:#735247;margin:0;font-size:13px;font-weight:700}.source-badge-row,.tag-row{flex-wrap:wrap;gap:6px;display:flex}.source-badge-row{margin:0}.source-badge-row span,.diet-tag{color:#604034;white-space:normal;background:#ffffff9e;border:1px solid #7d201f14;border-radius:8px;align-items:center;min-height:24px;padding:4px 7px;font-size:11px;font-weight:900;line-height:1.2;display:inline-flex}.source-badge-row .clinic-badge{color:#244f75;background:#2f68921a;border-color:#2f689229}.item-row,.tips-row{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.item-row span,.tips-row span,.tips-row a{color:#40231b;overflow-wrap:anywhere;word-break:break-word;background:#ffffffb8;border:1px solid #7d201f14;max-width:100%;padding:5px 8px;text-decoration:none}.empty-state{color:#7b5d51;text-align:center;place-items:center;gap:8px;min-height:180px;display:grid}.map-workspace{background:radial-gradient(circle at 70% 12%, #f0bf6824, transparent 30%), linear-gradient(155deg, #311711f0, #120f0df5 58%, #4a1713e0), var(--charcoal);grid-template-rows:auto minmax(0,1fr) auto;min-width:0;height:100vh;padding:18px;display:grid;position:relative;overflow:hidden}.map-workspace:before{content:"";pointer-events:none;opacity:.38;background-color:#0000;background-image:linear-gradient(90deg,#120f0d33 1px,#0000 1px),linear-gradient(#fff7ec14 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.map-toolbar{z-index:3;justify-content:space-between;gap:16px;margin-bottom:14px}.map-toolbar .eyebrow,.detail-dock .eyebrow{color:#ffd589}.toolbar-actions{gap:8px}.login-status-pill{min-width:0;max-width:220px;height:42px;color:var(--salt);background:#120f0dbd;border:1px solid #fff7ec33;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:950;display:inline-flex;box-shadow:0 12px 26px #120f0d2e}.login-status-pill span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.login-status-pill.is-member{border-color:#f0bf6857}.dock-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:inline-flex}.favorite-button{color:#7d201f;cursor:pointer;background:#fffaf2e0;border:1px solid #7d201f29;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:12px;font-weight:950;display:inline-flex}.favorite-button.active{color:#b73736;background:#b737361f;border-color:#b737366b}.mobile-search-control,.mobile-sheet-action,.mobile-sheet-toggle,.section-title .mobile-sheet-toggle,.dock-actions .mobile-sheet-toggle{display:none}.icon-button{width:42px;height:42px;color:var(--salt);background:#120f0dbd;border:1px solid #fff7ec33;border-radius:8px;place-items:center;display:grid;box-shadow:0 12px 26px #120f0d2e}.language-toggle{min-width:58px;height:42px;color:var(--salt);background:#120f0dbd;border:1px solid #fff7ec33;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:950;display:inline-flex;box-shadow:0 12px 26px #120f0d2e}.language-toggle:hover{border-color:#f0bf688c;transform:translateY(-1px)}.map-stage{background:linear-gradient(135deg,#d8ded4,#bfc9bd 52%,#e6dfd2),#d8ded4;border:1px solid #fff7ec3d;border-radius:8px;min-height:min(420px,34vh);position:relative;overflow:hidden;box-shadow:0 28px 62px #120f0d61}.kakao-map,.fallback-map{position:absolute;inset:0}.kakao-map{opacity:0;z-index:2}.kakao-map.is-ready{opacity:1}.fallback-map{background:radial-gradient(circle at 28% 26%,#fff7ec85,#0000 18%),radial-gradient(circle at 72% 62%,#b737361f,#0000 20%),linear-gradient(135deg,#e7e1d5 0%,#cad2c6 48%,#d7dfd0 100%);overflow:hidden}.fallback-map:before{content:"";opacity:.72;pointer-events:none;background:linear-gradient(25deg,#0000 42%,#5f6f6566 43% 45%,#0000 46%),linear-gradient(145deg,#0000 34%,#5f6f6552 35% 37%,#0000 38%),linear-gradient(78deg,#0000 58%,#b737362e 59% 61%,#0000 62%),linear-gradient(112deg,#0000 22%,#f0bf682e 23% 25%,#0000 26%);position:absolute;inset:-14%;transform:rotate(-3deg)}.fallback-map:after{content:"";pointer-events:none;background:linear-gradient(90deg,#ffffff47 1px,#0000 1px) 0 0/112px 112px,linear-gradient(#4a171314 1px,#0000 1px) 0 0/112px 112px,radial-gradient(circle at 48% 46%,#fff7ec2e,#0000 42%);position:absolute;inset:0}.map-grid{background-color:#0000;background-image:linear-gradient(90deg,#4a171326 1px,#0000 1px),linear-gradient(#4a17131f 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:58px 58px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:-40px;transform:rotate(-4deg)}.map-marker,.kakao-custom-marker{color:#fff9ef;border:2px solid #fff6e8;border-radius:50%;place-items:center;width:34px;height:34px;font-size:13px;font-weight:950;display:grid;box-shadow:0 10px 22px #120f0d57}.map-marker{z-index:2;position:absolute;transform:translate(-50%,-50%)}.kakao-custom-marker{padding:0}.map-marker svg,.kakao-custom-marker svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;pointer-events:none;width:17px;height:17px}.map-marker.selected,.kakao-custom-marker.selected{outline:4px solid #f0bf689e;width:44px;height:44px}.map-marker.selected svg,.kakao-custom-marker.selected svg{width:21px;height:21px}.map-marker.cat-dining,.kakao-custom-marker.cat-dining{background:linear-gradient(135deg,#d94b43,#8b1f1e);border-color:#7d201f}.map-marker.cat-butcher,.kakao-custom-marker.cat-butcher{background:linear-gradient(135deg,#8b2f2a,#4a1713);border-color:#4a1713}.map-marker.cat-market,.kakao-custom-marker.cat-market{background:linear-gradient(135deg,#2e8a73,#195b4e);border-color:#195b4e}.map-marker.cat-bakery,.kakao-custom-marker.cat-bakery{background:linear-gradient(135deg,#e0a43f,#8c5f0d);border-color:#8c5f0d}.map-marker.cat-specialty,.kakao-custom-marker.cat-specialty{background:linear-gradient(135deg,#c76834,#7d201f);border-color:#7d201f}.map-marker.cat-clinic,.kakao-custom-marker.cat-clinic{background:linear-gradient(135deg,#4f8fba,#244f75);border-color:#244f75}.map-marker.cat-online,.kakao-custom-marker.cat-online{background:linear-gradient(135deg,#7b6d63,#3a302b);border-color:#3a302b}.map-status{z-index:2;color:#3a2119;background:#fffaf2e6;border:1px solid #fff7ec33;border-radius:8px;align-items:center;gap:7px;padding:9px 12px;font-size:13px;font-weight:900;display:inline-flex;position:absolute;bottom:14px;right:14px}.detail-dock{z-index:3;background:linear-gradient(135deg, #fffaf2fa, #f7ead8f0), var(--salt);scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;grid-template-rows:auto minmax(0,1fr);gap:12px;height:min(48vh,420px);min-height:0;max-height:calc(100vh - 96px);margin-top:14px;padding:16px;display:grid;position:relative;overflow:hidden}.detail-dock h3{color:var(--charcoal)}.dock-header{justify-content:space-between;gap:12px}.detail-body{grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);align-items:stretch;gap:12px;min-height:0;display:grid;overflow:hidden}.detail-info-frame,.detail-review-frame{background:#ffffff61;border:1px solid #7d201f1a;border-radius:8px;min-width:0;min-height:0}.detail-info-frame{align-content:start;gap:10px;padding:10px;display:grid;overflow:auto}.detail-info-frame .tag-row,.detail-info-frame .tips-row{margin:0}.detail-info-frame .detail-note{margin-top:0}.detail-review-frame{padding:12px;overflow:auto}.dock-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0;display:grid}.info-line{color:#3a2119;background:#ffffffad;border:1px solid #7d201f14;border-radius:8px;align-items:flex-start;gap:8px;min-height:46px;padding:10px;font-size:13px;font-weight:800;display:flex}.info-line span{overflow-wrap:anywhere;min-width:0}.info-line svg{color:var(--meat);flex:none}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:0;display:grid}.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.contact-item{color:#3a2119;background:#ffffffb3;border:1px solid #7d201f1a;border-radius:8px;align-items:center;gap:9px;min-width:0;min-height:54px;padding:10px;text-decoration:none;display:flex}.contact-item.is-url{align-items:flex-start}.contact-item.is-primary-link{grid-column:auto}.contact-item svg{color:var(--meat);flex:none}.contact-item span{gap:2px;min-width:0;display:grid}.contact-item strong,.contact-item small{text-overflow:ellipsis;overflow:hidden}.contact-item strong{white-space:nowrap;color:#7d201f;font-size:12px}.contact-item small{-webkit-line-clamp:2;word-break:break-all;color:#2f1d18;-webkit-box-orient:vertical;font-size:13px;font-weight:900;display:-webkit-box}.contact-item.is-url small{text-overflow:clip;overflow-wrap:anywhere;word-break:break-word;-webkit-line-clamp:unset;display:block;overflow:visible}.contact-item.is-empty{color:#3a21198a;background:#ffffff6b}.contact-item.is-empty small,.contact-item.is-empty svg{color:#3a211980}@media (width>=1100px){.detail-dock .contact-item.is-primary-link{grid-column:span 2}}@media (width<=1180px){.detail-body{grid-template-columns:1fr;overflow:auto}.detail-info-frame,.detail-review-frame{overflow:visible}}.external-row{gap:8px;margin-top:0}.external-row a{padding:0 12px}.review-panel{gap:12px;margin-top:0;display:grid}.review-summary{justify-content:space-between;align-items:center;gap:12px;display:flex}.review-summary div:first-child{gap:3px;display:grid}.review-summary strong{color:var(--charcoal);font-size:15px}.review-summary span,.review-empty{color:#3a2119b8;font-size:13px;font-weight:800}.star-score,.rating-picker,.review-item span{color:#b73736;letter-spacing:0}.rating-picker{gap:2px;display:inline-flex}.rating-picker button{color:#7d201f4d;cursor:pointer;background:0 0;border:0;width:32px;height:32px;font-size:24px;line-height:1}.rating-picker button.active{color:#b73736}.review-form{gap:9px;display:grid}.review-form textarea,.auth-form input{width:100%;color:var(--charcoal);font:inherit;background:#ffffffc7;border:1px solid #7d201f29;border-radius:8px}.review-form textarea{resize:vertical;min-height:84px;padding:10px}.review-form-actions{flex-wrap:wrap;gap:8px;display:flex}.review-form-actions .primary-action{flex:150px}.review-list{gap:8px;display:grid}.review-item{background:#ffffff9e;border:1px solid #7d201f1a;border-radius:8px;padding:10px}.review-item-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.review-item-header>div:first-child{gap:3px;min-width:0;display:grid}.review-item-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:5px;display:inline-flex}.review-item-actions button{color:#7d201f;background:#fffaf2d1;border:1px solid #7d201f1f;border-radius:7px;min-height:28px;padding:0 8px;font-size:11px;font-weight:950}.review-item strong{color:#3a2119;font-size:13px}.review-item p{color:#3a2119d6;margin:7px 0 0;font-size:13px;line-height:1.45}.auth-form{gap:12px;display:grid}.auth-session-row{color:#195b4e;background:#fffaf29e;border:1px solid #23726129;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;padding:10px 12px;font-size:12px;font-weight:900;display:flex}.auth-session-row span,.auth-session-row button{align-items:center;gap:6px;display:inline-flex}.auth-session-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.auth-session-row button{color:#195b4e;background:#ffffffb8;border:1px solid #23726133;border-radius:8px;flex:none;min-height:30px;padding:0 10px;font-size:12px;font-weight:950}.auth-form label{color:var(--charcoal);gap:6px;font-size:13px;font-weight:900;display:grid}.auth-form input{min-height:42px;padding:0 10px}.text-action{background:0 0}.tag-row{margin:0 0 12px}.diet-tag.tag-needs_verification{color:#7d201f;background:#b737361a;border-color:#b737362e}.diet-tag.tag-functional_medicine,.diet-tag.tag-keto{color:#244f75;background:#2f68921a;border-color:#2f689229}.diet-tag.tag-carnivore,.diet-tag.tag-seed_oil_free{color:#67211d;background:#7d201f14;border-color:#7d201f26}.diet-tag.tag-sourdough,.diet-tag.tag-gluten_free{color:#6f4304;background:#f0bf6833;border-color:#e0a43f38}.diet-tag.custom-tag{color:#4d4039;background:#6f62581f;border-color:#6f62582e}.detail-note{color:#3a2119;background:#ffffff9e;border:1px solid #7d201f1a;border-radius:8px;margin-top:10px;padding:12px}.detail-note strong{color:var(--crust);align-items:center;gap:6px;font-size:13px;font-weight:950;display:inline-flex}.detail-note p{color:#604034;margin:7px 0 0;font-size:13px;font-weight:750;line-height:1.45}.medical-note{background:#2f689217;border-color:#2f689233}.modal-backdrop{z-index:10;background:linear-gradient(#120f0dad,#120f0dc2),url(/steak-texture.jpg) 50%/cover;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.submission-modal{width:min(680px,100%);max-height:min(760px,100vh - 36px);padding:18px;overflow:auto}.place-editor-modal{width:min(920px,100%)}.modal-header{justify-content:space-between;gap:12px;margin-bottom:16px}.submission-form,.place-editor-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.submission-form label,.place-editor-form label{color:#382119;flex-direction:column;gap:7px;font-size:13px;font-weight:900;display:flex}.submission-form input,.submission-form select,.submission-form textarea,.place-editor-form input,.place-editor-form select,.place-editor-form textarea{color:#241713;background:#fffaf2;border:1px solid #7d201f2e;border-radius:8px;outline:none;width:100%}.submission-form input,.submission-form select,.place-editor-form input,.place-editor-form select{height:42px;padding:0 11px}.submission-form textarea,.place-editor-form textarea{resize:vertical;padding:11px}.editor-actions{justify-content:flex-end;gap:8px;display:flex}.editor-actions button{min-width:110px}.wide{grid-column:1/-1}.primary-action{min-height:44px;color:var(--salt);background:linear-gradient(135deg,#cf413c,#811f1e);border-color:#811f1e}.toast{z-index:20;max-width:min(440px,100vw - 32px);color:var(--salt);background:linear-gradient(135deg, var(--crust), var(--charcoal));border:1px solid #fff7ec2e;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:900;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 16px 36px #120f0d57}@media (width<=1020px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar{border-bottom:1px solid #120f0d29;border-right:0;height:auto;max-height:none}.result-panel{max-height:360px}.map-workspace{height:auto;min-height:720px}}@media (width<=720px){html,body{height:100%;overflow:hidden}body{background:#d8ded4}.app-shell{background:#d8ded4;width:100vw;min-height:0;display:block;position:fixed;inset:0;overflow:hidden}.sidebar,.map-workspace,.detail-dock{width:100%;min-width:0;max-width:100vw}.map-workspace{background:#d8ded4;height:100dvh;min-height:0;padding:0;display:block;position:absolute;inset:0;overflow:hidden}.map-workspace:before{display:none}.map-stage{min-height:0;box-shadow:none;border:0;border-radius:0;position:absolute;inset:0}.map-toolbar{top:calc(env(safe-area-inset-top,0px) + 10px);z-index:9;pointer-events:none;flex-direction:row;justify-content:flex-end;align-items:flex-start;margin:0;position:absolute;right:10px}.map-toolbar>div:first-child{display:none}.toolbar-actions{pointer-events:auto;flex-direction:column;gap:7px}.icon-button{color:#4a1713;background:#fffaf2eb;border-color:#3a211924;width:38px;height:38px;box-shadow:0 8px 20px #120f0d2e}.login-status-pill{color:#4a1713;background:#fffaf2eb;border-color:#3a211924;width:96px;max-width:96px;height:38px;padding:0 8px;font-size:11px;box-shadow:0 8px 20px #120f0d2e}.language-toggle{color:#4a1713;background:#fffaf2eb;border-color:#3a211924;width:38px;min-width:38px;height:38px;padding:0;font-size:11px;box-shadow:0 8px 20px #120f0d2e}.language-toggle svg{display:none}.sidebar{z-index:8;height:100dvh;box-shadow:none;pointer-events:none;background:0 0;border:0;padding:0;position:absolute;inset:0;overflow:visible}.brand-bar{top:calc(env(safe-area-inset-top,0px) + 10px);z-index:10;pointer-events:auto;background:#fffaf2f0;border:1px solid #7d201f24;border-radius:12px;width:auto;max-width:calc(100vw - 74px);min-height:44px;padding:5px 11px 5px 5px;position:absolute;left:10px;box-shadow:0 10px 26px #120f0d2e}.brand-mark{border-radius:9px;width:34px;height:34px}.brand-bar .eyebrow{display:none}.brand-bar h1{text-overflow:ellipsis;white-space:nowrap;max-width:108px;font-size:21px;line-height:1;overflow:hidden}.search-panel{top:calc(env(safe-area-inset-top,0px) + 62px);z-index:10;pointer-events:auto;background:#fffaf2f5;border-radius:12px;width:auto;max-width:none;padding:8px;position:absolute;left:10px;right:10px;box-shadow:0 10px 28px #120f0d2e}.mobile-search-control{justify-content:flex-end;margin-bottom:6px;display:flex}.mobile-search-toggle{color:#7d201f;background:#fffaf2f0;border:1px solid #7d201f29;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:12px;font-weight:950;display:inline-flex}.search-panel.is-mobile-collapsed{width:auto;box-shadow:none;background:0 0;border:0;padding:0;right:auto}.search-panel.is-mobile-collapsed .mobile-search-control{margin-bottom:0}.search-panel.is-mobile-collapsed .mobile-search-toggle{border-radius:999px;min-height:42px;box-shadow:0 10px 26px #120f0d2e}.search-panel.is-mobile-collapsed .search-panel-content{display:none}.search-box{border-radius:10px;height:40px}.search-box input{font-size:15px}.filter-block{margin-top:8px}.filter-heading{display:none}.segmented,.tier-row{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:6px;min-width:0;padding-bottom:1px;overflow:auto hidden}.segmented::-webkit-scrollbar{display:none}.tier-row::-webkit-scrollbar{display:none}.segmented button,.tier-row button{white-space:nowrap;border-radius:10px;flex:none;min-width:0;min-height:32px;padding:0 10px;font-size:12px}.member-panel{display:none}.result-panel,.detail-dock{z-index:11;pointer-events:auto;border-bottom:0;border-left:0;border-right:0;border-radius:18px 18px 0 0;width:auto;max-width:none;max-height:none;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -14px 34px #120f0d38}.result-panel:before,.detail-dock:before{content:"";background:#4a171338;border-radius:999px;width:42px;height:4px;margin:0 auto 10px;display:block}.mobile-sheet-toggle{color:#7d201f;background:#fffaf2e6;border:1px solid #7d201f29;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:32px;padding:0 9px;font-size:12px;font-weight:950;display:inline-flex}.section-title .mobile-sheet-toggle,.dock-actions .mobile-sheet-toggle{display:inline-flex}.result-panel{min-height:196px;max-height:min(38dvh,310px);padding:10px 10px max(12px, env(safe-area-inset-bottom,0px));flex:none;display:none}.result-panel.is-mobile-active{display:flex}.result-panel.is-mobile-collapsed{min-height:0;max-height:60px;overflow:hidden}.result-panel.is-mobile-collapsed .place-list{display:none}.result-panel.is-mobile-collapsed .section-title{margin-bottom:0}.result-panel.is-mobile-collapsed .section-actions>:not(.mobile-sheet-toggle){display:none}.detail-dock{height:auto;max-height:min(58dvh,470px);padding:10px 12px max(14px, env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;grid-template-rows:none;margin:0;display:none;overflow:auto}.detail-dock.is-mobile-active{display:block}.detail-dock.is-mobile-collapsed{max-height:76px;overflow:hidden}.detail-dock.is-mobile-collapsed>:not(.dock-header),.detail-dock.is-mobile-collapsed .dock-actions>:not(.mobile-sheet-action):not(.mobile-sheet-toggle){display:none}.section-title{flex-wrap:nowrap;gap:8px;margin-bottom:8px}.section-title span{font-size:15px}.section-actions{flex-wrap:nowrap;flex:none;gap:6px}.section-title button{border-radius:10px;min-height:32px;padding:0 10px;font-size:12px}.section-title .mobile-sheet-toggle{color:#7d201f;background:#fffaf2e6;border-color:#7d201f29}.place-list{gap:8px;padding:0 2px 8px}.place-card{border-radius:12px;gap:6px;padding:10px}.card-top{align-items:flex-start}.place-card h3{font-size:16px}.place-card p{-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.place-card .item-row{display:none}.source-badge-row,.tag-row{gap:5px}.source-badge-row span,.diet-tag{border-radius:7px;min-height:22px;padding:3px 6px;font-size:10px}.dock-header{flex-direction:column;align-items:flex-start;gap:8px}.dock-header h3{font-size:19px}.dock-actions{justify-content:flex-start;gap:6px}.detail-body{overflow:visible}.mobile-sheet-action{color:#7d201f;background:#fffaf2e0;border:1px solid #7d201f29;border-radius:8px;justify-content:center;align-items:center;min-height:32px;padding:0 10px;font-size:12px;font-weight:950;display:inline-flex}.dock-grid,.contact-grid,.schedule-grid,.submission-form,.place-editor-form{grid-template-columns:1fr}.dock-grid{gap:7px;margin:10px 0}.contact-grid,.schedule-grid{gap:7px;margin-bottom:10px}.info-line,.contact-item{border-radius:10px;min-height:42px;padding:8px;font-size:12px}.detail-note,.review-panel,.tips-row,.external-row{margin-top:10px}.review-form textarea{min-height:76px}.wide{grid-column:auto}.modal-backdrop{padding:10px}}
