/* Map first: a vertically scrolling, non-modal sheet with an explicit fold control. */
.sheet-heading{display:none}.sheet-content{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}
.app-toolbar>.saved-nav{display:flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;color:#67432f;border-radius:8px;padding:8px}.app-toolbar>.saved-nav svg{width:20px;height:20px}.app-toolbar>.saved-nav.active{background:#eee1ce}.app-toolbar>.saved-nav #saved-count{color:#67432f;position:static;font-size:12px}
.map-nearby{position:absolute;right:16px;top:16px;z-index:501}.map-nearby .location-button{display:flex;align-items:center;min-height:44px;height:44px;padding:0 12px;gap:6px;width:auto}.map-nearby .location-button span{display:inline}.map-nearby .location-button svg{width:18px;height:18px}.map-guide{max-width:calc(100% - 160px)}
@media(max-width:700px){
 .choco-map{--mobile-action-space:0px}.choco-map .mobile-action-bar{display:none}
 .choco-map .topbar{height:48px;min-height:48px;padding:0 16px}.choco-map .topbar .brand b{max-width:none;font-size:16px;white-space:nowrap}.choco-map .topbar .view-switch{display:none}
 .choco-map .map-app,.choco-map.is-editing .map-app{height:calc(100dvh - 48px - env(safe-area-inset-bottom,0px))}
 .choco-map .app-toolbar{height:88px;min-height:88px;padding:8px 16px;gap:4px 8px;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:44px 24px}
 .choco-map .app-toolbar>.search-box{grid-column:1;grid-row:1;height:44px;min-height:44px}
 .choco-map .app-toolbar>.saved-nav{grid-column:2;grid-row:1;height:44px;width:44px;position:relative;padding:8px}.choco-map .app-toolbar>.saved-nav>span:not(#saved-count){display:none}.choco-map .app-toolbar>.saved-nav #saved-count{position:absolute;right:0;top:0;min-width:16px;text-align:center;line-height:16px;font-size:11px;background:#eee1ce;border-radius:4px}
 .choco-map .app-toolbar .map-freshness{gap:6px;flex-wrap:nowrap;grid-row:2;line-height:20px;height:24px;min-height:24px}.choco-map .map-freshness .freshness-status{background:none;padding:0;font-size:11px}.choco-map .map-freshness .freshness-label{font-size:11px}
 .choco-map .workspace{display:block}.choco-map #map-layout,.choco-map.is-list-view #map-layout{display:block!important;position:absolute;inset:0;width:100%;height:100%}.choco-map .map-guide{display:none}
 .choco-map .map-tools,.choco-map:not(.is-list-view) .map-tools{right:16px;bottom:128px;gap:8px}.choco-map .map-tools .zoom-tools{display:none}
 .choco-map .map-sample-label,.choco-map:not(.is-list-view) .map-sample-label{left:16px;bottom:112px;max-width:calc(100% - 88px);font-size:10px;padding:4px 6px}.choco-map .leaflet-control-attribution{bottom:82px;font-size:9px!important}
 .choco-map .places-panel,.choco-map:not(.is-list-view) .places-panel,.choco-map.is-list-view .places-panel{--sheet-peek:80px;position:absolute;inset:auto 0 0;height:calc(100% - 72px);min-height:160px;width:100%;padding:0;border:0;border-radius:20px 20px 0 0;box-shadow:0 -4px 20px #38261e1a;background:#fcf8f0;transform:translateY(var(--sheet-drag,calc(100% - var(--sheet-peek))));transition:transform 180ms ease-out;overflow:hidden;display:flex;flex-direction:column}
 .choco-map.sheet-expanded .places-panel{transform:translateY(var(--sheet-drag,0px))}.choco-map .places-panel.is-dragging{transition:none}
 .sheet-heading{display:block;position:relative;flex:0 0 80px;height:80px;touch-action:none;cursor:grab;padding:16px 16px 12px}.sheet-grip{position:absolute;width:32px;height:4px;background:#b9a693;border-radius:2px;top:8px;left:calc(50% - 16px)}
 #sheet-toggle{display:flex;width:100%;height:52px;align-items:center;justify-content:space-between;text-align:left;color:#38261e;gap:12px;padding:0}#sheet-toggle>span:first-child{display:flex;align-items:center;gap:8px;min-width:0}#sheet-title{font-size:16px;font-weight:600;white-space:nowrap}#sheet-count{font-size:13px;color:#715b49;font-variant-numeric:tabular-nums;white-space:nowrap}
 .sheet-action{display:flex;align-items:center;gap:4px;font-size:12px;color:#67432f;min-height:44px;padding:0 8px;background:#f1e7d7;border-radius:8px;white-space:nowrap}.sheet-action svg{width:16px;height:16px;transition:transform 180ms ease-out}.sheet-expanded .sheet-action svg{transform:rotate(180deg)}
 .choco-map .sheet-content{display:block;flex:1;overflow-y:auto;overflow-x:hidden;min-height:0;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#d6c1a5 transparent;padding-bottom:16px}.sheet-content[inert]{visibility:hidden}.choco-map .sheet-content .panel-heading{display:none}
 .choco-map .panel-filters,.choco-map.is-list-view .panel-filters{padding:0 16px 8px;min-height:52px;gap:8px}.choco-map .panel-filters select{font-size:13px;min-height:44px}.choco-map .panel-filters select:focus-visible{outline-offset:-2px}.choco-map .demo-notice,.choco-map.is-list-view .demo-notice{display:none}
 .choco-map .place-list,.choco-map:not(.is-list-view) .place-list,.choco-map.is-list-view .place-list{display:block;overflow:visible;width:100%;padding:0 16px;scroll-snap-type:none;margin:0;max-width:none}
 .choco-map .place-card,.choco-map.is-list-view .place-card{width:100%;height:auto;min-height:148px;margin:0;border:0;border-bottom:1px solid #e4d8c8;border-radius:0;background:transparent;box-shadow:none}.choco-map .place-card.selected{background:#f1e7d7}
 .choco-map .place-select,.choco-map.is-list-view .place-select{height:auto;min-height:148px;padding:12px 0;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:12px}.choco-map .place-photo,.choco-map.is-list-view .place-photo{width:64px;height:88px;align-self:start;border-radius:6px}
 .choco-map .place-copy{padding:0 28px 26px 0}.choco-map .place-copy>h2{font-size:16px;line-height:1.5;white-space:normal;overflow:visible;word-break:keep-all;margin:0 0 4px}.choco-map .place-category{font-size:11px;padding:0;margin:0 0 4px}.choco-map .place-copy>p{font-size:12px;margin-top:4px}.choco-map .place-checked{font-size:11px;max-width:none;padding:0;margin-top:4px}
 .choco-map .place-card .card-save{top:8px;right:0}.choco-map .place-detail{right:0;bottom:0;height:44px;font-size:12px;padding:0 8px}
 .choco-map .panel-footer,.choco-map.is-list-view .panel-footer{display:block;margin:16px 16px 0;padding:8px 0;background:transparent}.choco-map .panel-footer>div{gap:16px;flex-wrap:wrap}.choco-map .panel-footer a{display:inline-flex;align-items:center;min-height:44px;font-size:12px}.choco-map .panel-footer>p{font-size:11px;line-height:1.6}
 .choco-map .empty-state{margin:0 16px 16px;padding:24px 16px}.choco-map .status:empty{display:none}.choco-map .toast,.choco-map .toast.with-action{bottom:96px;z-index:2001;width:calc(100% - 32px);font-size:12px}
}
@media(prefers-reduced-motion:reduce){.choco-map .places-panel,.sheet-action svg{transition:none}}

@media(max-width:700px){.choco-map .place-card,.choco-map.is-list-view .place-card,.choco-map .place-select,.choco-map.is-list-view .place-select{min-height:128px}.choco-map .place-copy{padding-bottom:0}.choco-map .place-copy>p,.choco-map .place-detail{display:none}}
@media(max-width:700px){.choco-map .leaflet-bottom.leaflet-right{top:0;bottom:auto;left:0;right:auto}.choco-map .leaflet-control-attribution{position:relative;top:auto;bottom:auto;right:auto;margin:0;width:auto}}

/* A quiet cream frame, with clean white browsing surfaces. */
.choco-map{--surface:#fffefa;--surface-soft:#f5efe6;--text-secondary:#715e50;--divider:#eee6db}
.choco-map .sheet-content{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d6c1a5 transparent}
.choco-map .sheet-content .place-list{flex:none;overflow:visible}
.choco-map .places-panel{background:var(--surface)}
.choco-map .place-card{background:var(--surface);border-color:var(--divider)}
.choco-map .place-card.selected{background:var(--surface-soft)}
.choco-map .place-category,.choco-map .place-checked{color:var(--text-secondary);font-size:12px}
.choco-map .place-copy h2{font-weight:600;letter-spacing:-.025em}
.choco-map .choco-certified,.choco-map .choco-certified span,.choco-map .source-unconfirmed,.choco-map .place-period,.choco-map .photo-reference{font-size:12px}
.choco-map .app-toolbar>.saved-nav #saved-count{font-size:12px}
.choco-map .panel-footer{border-top:1px solid var(--divider)}
.choco-map .panel-footer a{min-height:44px;align-items:center;display:inline-flex;text-underline-offset:4px}
.choco-map .list-ad{flex:none;width:100%;margin:24px 0;padding:16px 0;border-block:1px solid var(--divider);background:#fff}
.choco-map .list-ad[hidden]{display:none}
.choco-map .list-ad-slot{width:100%;min-height:102px;height:auto;overflow:visible}
.choco-map .report-correction{display:block;width:100%;min-height:44px;margin-top:16px;border:0;background:transparent;color:var(--cocoa,#67432f);text-decoration:underline;text-underline-offset:4px;font:inherit}
.choco-map #suggest-dialog{max-height:calc(100dvh - 20px);padding-bottom:max(24px,env(safe-area-inset-bottom));overflow:auto}
.choco-map #suggest-form input,.choco-map #suggest-form select,.choco-map #suggest-form textarea{font-size:16px;min-height:44px;max-width:100%;box-sizing:border-box}
.choco-map #suggest-form input[readonly]{background:#f4eee5;color:#67432f}
.choco-map #suggest-form small{font-size:13px;font-weight:400;color:#67584b}
.choco-map .suggest-duplicates{padding:12px;background:#f5eddf;border-radius:12px}
.choco-map .suggest-duplicates p{margin:0 0 8px;font-size:14px}
.choco-map .suggest-duplicates button{display:grid;gap:4px;width:100%;min-height:44px;text-align:left;background:transparent;color:#39261f;border:0;padding:12px 0;font:inherit}
.choco-map .suggest-duplicates span{font-size:13px}
.choco-map .suggest-receipt{overflow-wrap:anywhere;font-size:13px;color:#67584b}
.choco-map #suggest-empty{margin:8px}
.choco-map .kakao-pin{display:block;width:44px;height:50px;min-width:44px;min-height:44px;padding:0;overflow:visible;font:inherit;cursor:pointer}
.choco-map .kakao-current-position{display:block;width:18px;height:18px;border:3px solid #fff7e9;border-radius:50%;background:#93633e;box-shadow:0 1px 5px #39261f44}
.choco-map .map-loading{position:absolute;inset:24px auto auto 24px;background:#fffefa;padding:12px 16px;border-radius:12px;color:#67432f;font-size:14px}
.choco-map .map-error{position:absolute;z-index:2;left:16px;right:16px;top:64px;padding:12px 16px;border-radius:12px;font-size:14px}
.choco-map .map-error button{display:block;min-height:44px;margin-top:8px;color:#67432f;text-decoration:underline;text-underline-offset:4px;font-size:14px}
.choco-map.map-unavailable .map-guide{display:none}
.map-failure-notice{display:none}
@media(max-width:700px){.choco-map.map-unavailable #map>.map-error{display:none}.map-failure-notice{display:block;margin:0 20px 16px;padding:12px 16px;border-radius:12px;background:#f5efe6;color:#67432f;font-size:14px;line-height:1.6}.map-failure-notice button{min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:14px}}
@media(max-width:700px){
 .choco-map #map{height:calc(100% - 80px)}
 .choco-map.sheet-expanded #map{height:72px}
 .choco-map .places-panel,.choco-map:not(.is-list-view) .places-panel,.choco-map.is-list-view .places-panel{background:var(--surface)}
 .choco-map .sheet-heading{padding-inline:20px}
 .choco-map .sheet-action{background:var(--surface-soft);border-radius:12px;font-size:13px;padding-inline:12px}
 .choco-map #sheet-title{font-size:17px}
 .choco-map .panel-filters,.choco-map.is-list-view .panel-filters{margin:0 20px 4px;padding:0 0 8px;border-bottom:1px solid var(--divider)}
 .choco-map .place-list,.choco-map:not(.is-list-view) .place-list,.choco-map.is-list-view .place-list{padding-inline:20px}
 .choco-map .place-card,.choco-map.is-list-view .place-card{border-bottom-color:var(--divider);min-height:132px}
 .choco-map .place-select,.choco-map.is-list-view .place-select{padding-block:16px;min-height:132px;gap:14px}
 .choco-map .place-copy{padding-right:48px}
 .choco-map .place-copy>h2{font-size:16px;line-height:1.5}
 .choco-map .place-category,.choco-map .place-checked{font-size:12px}
 .choco-map .place-card .card-save{top:12px;right:0}
 .choco-map .place-photo,.choco-map.is-list-view .place-photo{border-radius:10px}
 .choco-map .panel-footer,.choco-map.is-list-view .panel-footer{margin:16px 20px 0;padding-top:12px}
 .choco-map .panel-footer a{font-size:13px}
 .choco-map .map-freshness #map-updated-at,.choco-map .map-freshness .freshness-label,.choco-map .map-freshness .freshness-status{font-size:12px}
 .choco-map .map-freshness .freshness-label{display:none}
 .choco-map .map-sample-label,.choco-map:not(.is-list-view) .map-sample-label{font-size:12px}
 .choco-map .leaflet-control-attribution{font-size:12px!important}
 .choco-map .place-photo>span,.choco-map .photo-reference{font-size:12px}
}
.choco-map .topbar .top-actions .submit-nav{position:relative;isolation:isolate;flex:none;display:flex;width:auto;min-width:0;height:44px;min-height:44px;padding:0 8px;gap:4px;background:transparent;color:#67432f;border-radius:8px;font-size:12px;font-weight:600;white-space:nowrap}
.choco-map .topbar .top-actions .submit-nav::before{content:"";position:absolute;z-index:-1;inset:8px 0;background:#f1e7d7;border-radius:8px;transition:background-color 140ms ease}
.choco-map .topbar .top-actions .submit-nav:hover::before{background:#e7d8c0}
.choco-map .topbar .top-actions .submit-nav span{display:inline}
.choco-map .topbar .top-actions .submit-nav svg{width:14px;height:14px;flex:none}
