.angel-mark{display:grid;place-items:center;width:44px;height:42px;background:#008663;color:white;border-radius:16px 16px 13px 13px;font-size:30px;position:relative}.angel-mark:before{content:'';position:absolute;top:-7px;width:26px;height:7px;border:2px solid #daa646;border-radius:50%;background:white}.brand small{letter-spacing:0}.header-right .active{color:#91edd0;font-weight:800;text-decoration:underline;text-underline-offset:8px}.admin-entry{margin-left:15px;border-left:1px solid #dce7e1;padding-left:24px!important;color:#a9c9bd!important;font-size:13px}.intro .subtext{color:#69766e;margin-top:12px}.map-actions{position:absolute;top:16px;right:16px;z-index:500;display:flex;gap:7px;flex-wrap:wrap}.map-actions button{background:white;border:1px solid #d2ddd6;border-radius:10px;box-shadow:0 3px 12px #18332812;padding:10px 13px;font-size:12px;font-weight:700;cursor:pointer}.map-actions button:hover{color:#008663;border-color:#008663}.dot.purple{background:#7360ab}.location-hint{margin:0;padding:0 21px 10px;color:#6b7870;font-size:12px;line-height:1.6}.map-price{background:transparent;border:0}.map-price .price-label{display:inline-flex;align-items:center;justify-content:center;gap:4px;border:2px solid white;border-radius:22px;color:white;background:#008663;padding:6px 9px;font-weight:800;font-size:12px;box-shadow:0 2px 8px #102a3340;white-space:nowrap;min-width:58px}.map-price.selected .price-label{outline:3px solid #efbd48;transform:scale(1.12)}.price-label small{font-size:9px;font-weight:600}.map-popup{display:grid;gap:8px;min-width:180px}.map-popup button{cursor:pointer;text-align:left;padding:10px;background:#f5f8f5;border:1px solid #dce4df;border-radius:8px;color:#233f31}.map-popup strong{display:block;line-height:1.5}.map-popup span{color:#008663}.row-meta.address-line{font-size:12px}.tag.event{background:#fff2d7;color:#86570e}.tag.location-pending{background:#f2f3f4;color:#616870}.restaurant .row-top h3{max-width:72%;overflow-wrap:anywhere}.checks{margin-top:10px}.admin-shell{max-width:1180px}.admin-banner{padding:24px;border:1px solid #d7e4dc;background:#fff;border-radius:16px;margin-bottom:25px}.admin-banner h1{font-size:30px;line-height:1.4;margin-bottom:12px}.admin-nav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.admin-nav a{background:white;border:1px solid #d8e3dc;border-radius:9px;padding:10px 15px;text-decoration:none;color:#385445;font-size:13px}.admin-nav a[aria-current]{color:#008663;border-color:#008663}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:26px 0}.admin-card{display:flex;flex-direction:column;background:white;border:1px solid #d7e4dc;border-radius:16px;padding:24px;gap:12px}.admin-card h2{font-size:18px}.admin-card p{font-size:14px;line-height:1.8;color:#66786c}.admin-card a{font-size:13px;color:#008663}.admin-table{width:100%;border-collapse:collapse;background:white}.admin-table th,.admin-table td{text-align:left;padding:13px;border-bottom:1px solid #dfe7e2;font-size:13px;line-height:1.7}.table-wrap{overflow:auto;border:1px solid #dfe7e2;border-radius:12px}.admin-notice{font-size:13px;color:#68776d;line-height:1.8;margin:18px 0}.guide-shell{max-width:840px}.guide-shell h1{font-size:32px;margin:25px 0}.guide-section{padding:26px;margin:18px 0;background:white;border:1px solid #d7e4dc;border-radius:16px}.guide-section h2{font-size:19px;margin-bottom:12px}.guide-section p{color:#53665a;line-height:1.9;font-size:15px}.button-link{display:inline-block;padding:12px 20px;border-radius:10px;color:white!important;background:#008663;text-decoration:none}.admin-filter{margin:15px 0;padding:10px;min-width:230px;border:1px solid #cddbd2;border-radius:8px;background:white}button:focus-visible,a:focus-visible{outline:3px solid #c59826;outline-offset:3px}[hidden]{display:none!important}@media(max-width:1000px){.map-actions{max-width:65%;justify-content:flex-end}.admin-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.header-right{gap:5px}.topbar{padding:18px 20px;gap:16px;flex-wrap:wrap;height:auto}.brand{font-size:21px}.admin-entry{margin-left:4px;padding-left:11px!important}.intro .stats{gap:24px}.map-actions{right:8px;top:8px;gap:4px;max-width:80%}.map-actions button{padding:8px;font-size:11px}.admin-grid{grid-template-columns:1fr}.admin-banner h1{font-size:24px}.location-hint{padding:0 17px 10px}.map-note{font-size:10px}.workspace .sidebar{max-height:700px}}

.intro em{font-style:normal;color:#008663}.map-note{margin:0}.notice-icon{flex:none;border:1px solid #008663;border-radius:50%;width:20px;height:20px;display:grid;place-items:center;font-size:13px;color:#008663}.detail-price{font-size:30px;font-weight:750;color:#008663}.load-more{margin:10px 16px 16px;border:1px solid #d2dfd6;border-radius:8px;padding:10px;background:#f3f8f5;color:#008663}.admin-nav a{font-size:13px}

.map-price{display:flex;justify-content:center;align-items:center}

.dot.orange{background:#b84c17}

.dot.blue{background:#246da4}

.dot.pink{background:#bf3265}

.dot.brown{background:#8a592d}

.dot.teal{background:#007c91}

.dot.gold{background:#926400}

.dot.indigo{background:#4b58a8}



.tag.review-completed{background:#dcf3e6;color:#14663e}.tag.review-needs-check{background:#fff0d6;color:#885516}.review-filter-label{display:grid;gap:6px;font-size:12px;margin-top:12px}.review-filter-label select{width:100%;padding:10px;border:1px solid #d8e3dc;border-radius:8px;background:white}

.admin-banner .stats{flex-wrap:wrap;row-gap:20px}

/* Keep NAVER attribution clear and give grouped store choices a readable surface. */
#map .map-price{padding:0;cursor:pointer;font-family:inherit;overflow:visible}
#map .map-price:focus-visible .price-label{outline:3px solid #efbd48}
#map .map-popup{background:white;padding:12px;border:1px solid #dce4df;border-radius:12px;box-shadow:0 3px 12px #18332826;max-height:240px;overflow:auto}
.map-wrap .map-note{bottom:35px;max-width:calc(100% - 130px);pointer-events:none}

/* Store details: visit essentials first, supporting records on demand. */
#detail .detail-price{display:block;margin:0;padding:0;border-radius:0;background:none;font-size:36px;line-height:1.2}
#detail .detail-price small{margin-top:6px;font-size:13px;line-height:1.5;font-weight:500}
#detail .detail-notice{padding:10px 12px;background:#f4f6f5;color:#59665e;border:1px solid #e4e9e6;border-radius:10px;font-size:13px;line-height:1.65}
#detail .detail-visit-note{display:flex;align-items:flex-start;gap:7px;margin:12px 0;font-size:13px}
#detail .detail-visit-note>span:first-child{flex:none;color:#68786e}
#detail .detail-footer-actions a{flex:1;text-align:center;display:flex;align-items:center;justify-content:center;min-height:50px;box-sizing:border-box;padding:12px 16px;border:1px solid var(--green);border-radius:12px;background:var(--green);color:white;font-size:16px;font-weight:750;line-height:1.5;text-decoration:none}
#detail .detail-fold{border-top:1px solid var(--line);font-size:16px;line-height:1.65}
#detail .detail-fold summary{cursor:pointer;padding:12px 0;font-weight:650;overflow-wrap:anywhere}
#detail .detail-fold summary:focus-visible{outline:3px solid #c59826;outline-offset:3px;border-radius:4px}
#detail .detail-fold-body{padding:0 0 12px;overflow-wrap:anywhere}
#detail .detail-fold-body>p{margin:0 0 12px}
#detail .detail-source{padding:10px 0;border-top:1px solid #e8eeea}
#detail .detail-source:first-child{border-top:0;padding-top:0}
#detail .detail-source>a{color:var(--green);font-weight:600;overflow-wrap:anywhere}
#detail .evidence{font-size:16px;line-height:1.7;margin:8px 0 6px;padding:10px 12px;border-radius:10px}
#detail .detail-source-meta{color:var(--muted);font-size:13px;line-height:1.7;margin:6px 0}

#detail .detail-retry{min-height:50px;padding:12px 16px;border:1px solid var(--green);border-radius:12px;background:white;color:var(--green);font:inherit;cursor:pointer}
#detail .detail-retry:focus-visible{outline:3px solid #c59826;outline-offset:3px}




/* Home: keep finding a store ahead of the introduction. */
.topbar.site-topbar{height:72px;min-height:0;padding:0 max(24px,calc((100vw - 1440px)/2));gap:20px;flex-wrap:nowrap}
.site-topbar .brand{gap:8px;flex:none;white-space:nowrap}
.site-topbar .brand-icon-frame{display:block;position:relative;flex:none;width:76px;height:64px}
.site-topbar .brand-icon{display:block;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88px;height:88px;object-fit:contain}
.site-topbar .header-right{gap:20px;max-width:none;flex-wrap:nowrap}
.site-topbar .admin-entry{margin-left:0;padding-left:0!important;border-left:0}
.home-page main{padding-top:16px}
.home-page .intro{display:block;margin-bottom:10px}
.home-page .intro h1{font-size:26px;line-height:1.35;letter-spacing:-.6px;margin:0;text-wrap:balance}
.home-page .intro .subtext{margin:4px 0 8px;font-size:14px;line-height:1.5;color:var(--muted)}
.home-page .home-coverage{margin:0;color:var(--muted);font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums}
.home-page .home-coverage strong{color:var(--green);font-weight:750}
.home-page .workspace{height:calc(100svh - 230px);min-height:460px;max-height:820px}
@media(max-width:800px){
  .topbar.site-topbar{height:64px;padding:0 14px;gap:12px}
  .site-topbar .brand{font-size:19px}
  .site-topbar .brand-icon-frame{width:72px;height:56px}
  .site-topbar .header-right{gap:14px}
  .home-page main{padding-top:14px}
  .home-page .intro h1{font-size:22px}
  .home-page .intro .subtext{font-size:13px}
  .home-page .workspace{height:auto;min-height:0;max-height:none}
  .home-page .map-panel{height:clamp(280px,52svh,440px)}
}
@media(max-width:600px){
  .topbar.site-topbar .text-button{font-size:12px}
  .site-topbar .header-right{gap:12px}
  .site-topbar .header-right [aria-current="page"]{display:none}
  .home-page .intro h1{font-size:20px}
  .home-page .home-coverage{font-size:12px}
}

.site-topbar .brand-copy{display:flex;align-items:center;gap:14px}
.site-topbar .brand-tagline{font-size:12px;font-weight:400;line-height:1.4;color:#c1d7d1}
@media(max-width:600px){
  .site-topbar .brand-copy{flex-direction:column;align-items:flex-start;gap:0}
  .site-topbar .brand-tagline{font-size:10px;line-height:1.3}
}
@media(max-width:360px){
  .topbar.site-topbar{padding:0 12px;gap:8px}
  .site-topbar .brand{gap:12px}
  .site-topbar .brand-icon-frame{width:56px}
  .site-topbar .header-right{gap:8px}
  .topbar.site-topbar .text-button{font-size:11px}
}

/* Public search: primary controls first, optional conditions on demand. */
.home-page .workspace .sidebar{overflow-y:auto}
.home-page .restaurant-list{min-height:140px}
.home-page .filters{padding:16px 18px 12px}
.home-page .search-tools{display:flex;align-items:stretch;gap:8px}
.home-page .search-tools .searchbox{flex:1;min-width:0}
.home-page .locate-button{flex:none;border:1px solid #cbdad2;border-radius:8px;padding:8px 10px;background:white;color:var(--green);font-size:12px;font-weight:650;white-space:nowrap}
.home-page .locate-button>span{font-size:19px;line-height:1;vertical-align:-1px}
.home-page .locate-button:hover{background:#edf7f1;border-color:var(--green)}
.home-page .locate-button:disabled{color:var(--muted);background:var(--bg)}
.home-page .locate-status{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.home-page .filter-row{margin-top:12px;grid-template-columns:1fr 1fr}
.home-page .filter-actions{display:flex;align-items:flex-start;gap:12px;margin-top:8px}
.home-page .advanced-filters{flex:1;min-width:0;margin:0}
.home-page .advanced-filters summary{padding:6px 0;font-size:13px;color:var(--ink)}
.home-page .advanced-count{display:inline-block;vertical-align:1px;margin-left:4px;border-radius:12px;padding:1px 6px;font-size:11px;font-weight:600;color:#14663e;background:#dcf3e6}
.home-page .advanced-filters:not([open]) .advanced-body{display:none}
.home-page .advanced-body{display:grid;gap:6px;padding:10px 0 2px}
.home-page .advanced-body>label{font-size:12px}
.home-page .advanced-body .candidate-toggle{margin:7px 0 9px;align-items:flex-start;line-height:1.6}
.home-page .advanced-body .candidate-toggle input{flex:none;margin-top:2px}
.home-page .filter-help{font-size:11px;line-height:1.6;color:var(--muted);margin:1px 0 0}
.home-page .filter-reset{font-size:12px;font-weight:500;color:var(--muted);padding:6px 0}
.home-page .result-head{gap:8px;padding-top:12px;align-items:center}
.home-page .result-head h2{font-size:13px;white-space:nowrap}
.home-page .result-sort{flex:none;width:auto;max-width:120px;padding:7px 5px;font-size:12px;border-color:transparent;background-color:transparent}
.home-page .result-sort:hover{border-color:var(--line)}
@media(max-width:480px){
  .home-page .filters{padding:14px 16px 10px}
  .home-page .result-head{padding-right:16px;padding-left:16px;gap:5px}
  .home-page .result-head h2{font-size:12px}
  .home-page .result-sort{max-width:108px}
}

/* Prices progress from a strong green bargain to warm, softer higher bands. */
.home-page .price-2000{--marker-color:#007a50;--marker-ink:#ffffff}
.home-page .price-3000{--marker-color:#b4d963;--marker-ink:#243719}
.home-page .price-4000{--marker-color:#f5b747;--marker-ink:#482b0b}
.home-page .price-4999{--marker-color:#e99a8d;--marker-ink:#492620}
#map .map-price .price-label{background:var(--marker-color,#008663);color:var(--marker-ink,#ffffff)}
#map .map-district-cluster{border:0;background:none;padding:0;font-family:inherit;cursor:pointer;overflow:visible}
#map .district-cluster-label{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58px;padding:6px 10px;border:2px solid white;border-radius:18px;background:#174d42;color:white;box-shadow:0 3px 10px #082f2b40;line-height:1.35;white-space:nowrap}
#map .district-cluster-label>span{font-size:11px;font-weight:500}
#map .district-cluster-label>strong{font-size:19px;font-weight:800}
#map .map-district-cluster:focus-visible .district-cluster-label{outline:3px solid #efbd48;outline-offset:2px}

/* Top-left visit notice reserves room for the view button and yields to errors. */
.home-page .map-visit-note{position:absolute;left:16px;right:auto;top:16px;bottom:auto;z-index:500;width:fit-content;max-width:calc(100% - 180px);box-sizing:border-box;margin:0;padding:6px 10px;border-radius:5px;background:#fffffff2;color:#53665a;font-size:12px;line-height:1.6;pointer-events:none}
@media(max-width:800px){.home-page .map-visit-note{display:none}}

/* Store details: a lightweight indicator while the network request is pending. */
.home-page .detail-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:112px;margin:18px 0;padding:20px 16px;box-sizing:border-box;border-radius:12px;background:#edf7f3;color:#36574a}
.home-page .detail-loading p{margin:0;font-size:16px;line-height:1.6}
.home-page .detail-spinner{display:inline-block;flex:none;width:28px;height:28px;box-sizing:border-box;border:3px solid #c5e3d7;border-top-color:#008663;border-radius:50%;animation:detail-spin .8s linear infinite}
@keyframes detail-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.home-page .detail-spinner{animation:none}}

/* Store popup: offer, compact confirmation, navigation, supporting detail. */
#detail .detail-offer{margin:12px 0 10px;padding:16px;border:1px solid #d4e6dc;border-radius:12px;background:#f3f9f5}
#detail .detail-conditions{margin-top:10px;padding-top:8px;border-top:1px solid #dce9e1;font-size:16px;line-height:1.7}
#detail .detail-conditions p{display:flex;align-items:baseline;gap:10px;margin:0}
#detail .detail-conditions strong{flex:none;font-size:13px;color:#476151}
#detail .detail-conditions p>span{min-width:0;white-space:pre-line;overflow-wrap:anywhere}
#detail .tag{font-size:13px;border-radius:10px}
#detail .detail-meta{display:flex;align-items:center;gap:7px 12px;flex-wrap:wrap;color:var(--muted);font-size:13px;line-height:1.6}
#detail .detail-review{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:1px solid;border-radius:10px}
#detail .detail-review--completed{background:#edf8f2;border-color:#a4cfb4;color:#145235}
#detail .detail-review--needs-check{background:#fff4df;border-color:#d9ac54;color:#754400}
#detail .detail-review-icon{font-size:13px;font-weight:800;line-height:1}
#detail .detail-review strong{font-size:13px;font-weight:750}
#detail .detail-date{overflow-wrap:anywhere}
#detail .detail-footer-actions a:hover{background:#006e51;border-color:#006e51}

/* Keep the map action below the scroll area at every screen size. */
#detail{position:fixed;inset:0;margin:auto;width:calc(100% - 32px);max-width:550px;height:fit-content;border-radius:24px;max-height:88vh;max-height:88dvh;padding:0;overflow:hidden;box-sizing:border-box}
#detailContent{display:flex;flex-direction:column;max-height:calc(88vh - 2px);max-height:calc(88dvh - 2px);min-height:0;overflow:hidden}
#detail .detail-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:28px;font-size:16px;line-height:1.65}
#detail .close{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;width:48px;height:48px;padding:0;font-size:19px;line-height:1;border-radius:12px;background:#f2f5f3;cursor:pointer}
#detail .close:hover{background:#e5ece7}
#detail .eyebrow{margin:0 48px 6px 0;font-size:13px;line-height:1.5}
#detail h2{margin:0 48px 8px 0;font-size:26px;font-weight:750;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}
#detail .address{margin:0 0 12px;color:var(--muted);font-size:14px;line-height:1.55;overflow-wrap:anywhere}
#detail .detail-footer-actions{flex:0 0 auto;padding:24px 28px calc(24px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:white;box-shadow:0 -4px 12px #18332808}
@media(max-width:600px){
 #detail{width:calc(100% - 20px);max-width:600px;max-height:90vh;max-height:90dvh;border-radius:20px}
 #detailContent{max-height:calc(90vh - 2px);max-height:calc(90dvh - 2px)}
 #detail .detail-body{padding:20px;font-size:15px}
 #detail .detail-fold,#detail .evidence,#detail .detail-conditions,#detail .detail-loading p{font-size:15px}
 #detail .detail-price{font-size:32px}
 #detail .close{top:8px;right:8px}
 #detail h2{font-size:24px}
 #detail .detail-footer-actions{padding:20px 20px calc(20px + env(safe-area-inset-bottom,0px))}
}

/* Public footer. */
.site-footer{display:flex;justify-content:center;text-align:center;padding:24px 0;color:var(--muted);font-size:13px}
.site-footer p{margin:0;line-height:1.6}

/* Public header: show the other page as a touch-friendly icon. */
.topbar .header-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;border-radius:12px;text-decoration:none;color:inherit}
.topbar .header-icon svg{display:block;width:24px;height:24px;pointer-events:none}
.topbar .header-icon:hover{background:#ffffff16;color:#91edd0}
.home-page .home-coverage{margin-top:4px}

/* Store offer: product and condition on the left, price on the right. */
#detail .detail-offer{background:linear-gradient(110deg,#eaf8ef,#edf4ff)}
#detail .detail-offer-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 16px}
#detail .detail-product{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;min-width:0}
#detail .detail-unit{font-size:16px;font-weight:750;line-height:1.5;overflow-wrap:anywhere}
#detail .detail-condition-tag{display:inline-flex;align-items:center;padding:3px 7px;border-radius:6px;font-size:12px;font-weight:750;line-height:1.5;white-space:nowrap}
#detail .detail-condition-tag--regular{background:#006c50;color:white}
#detail .detail-condition-tag--event{background:#fff0cf;color:#805009}
#detail .detail-offer-top .detail-price{flex:none;margin:0 0 0 auto;white-space:nowrap;font-variant-numeric:tabular-nums}
#detail .detail-currency{margin-left:4px;font-size:22px;font-weight:700}
#detail .detail-offer-top .detail-price--held{font-size:20px;white-space:normal}

/* Shared header: airy mint with readable forest-green navigation. */
.topbar.site-topbar{background:#e6f3eb;color:#165e47;box-shadow:inset 0 -1px 0 #cfe3d6}
.site-topbar .brand,.topbar.site-topbar .text-button{color:#165e47}
.site-topbar .brand-tagline{color:#44685a}
.site-topbar .admin-entry{color:#44685a!important}
.site-topbar .header-icon:hover{background:#cfe8da;color:#104c39}

/* Home: two panels fill the viewport below the shared header. */
.home-page{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.home-page>.home-topbar{flex:0 0 72px}
.home-page main{flex:1;min-height:0;width:100%;max-width:none;margin:0;padding:0;display:flex;overflow:hidden}
.home-page .workspace{flex:1;display:grid;grid-template-columns:380px minmax(0,1fr);height:100%;min-height:0;max-height:none;width:100%;border:0;border-radius:0;box-shadow:none;overflow:hidden}
.home-page .workspace .sidebar{display:block;min-width:0;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;background:white}
.home-page .sidebar .intro{margin:0;padding:22px 18px 16px;border-bottom:1px solid var(--line);background:#f8fcf9}
.home-page .sidebar .intro h1{font-size:24px;line-height:1.4}
.home-page .sidebar .home-coverage{margin-top:8px}
.home-page .workspace .restaurant-list{flex:none;min-height:0;max-height:none;overflow:visible}
.home-page .sidebar .site-footer{margin:0;padding:16px 18px;border-top:1px solid var(--line);font-size:12px}
.home-page .workspace .map-panel{height:100%;min-height:0;max-height:none}
@media(max-width:800px){
 .home-page>.home-topbar{flex-basis:64px}
 .home-page .workspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(140px,42%) minmax(0,1fr)}
 .home-page .workspace .map-panel{grid-row:1}
 .home-page .workspace .sidebar{grid-row:2;border-right:0;border-top:1px solid var(--line)}
 .home-page .sidebar .intro{padding:16px 18px 12px}
 .home-page .sidebar .intro h1{font-size:22px}
}
@media(max-width:480px){
 .home-page .sidebar .intro{padding:14px 16px 12px}
 .home-page .sidebar .intro h1{font-size:20px}
}

/* Keep result count and sorting visible within the scrolling search panel. */
.home-page .sidebar .result-head{position:sticky;top:0;z-index:20;min-height:40px;padding-top:2px;padding-bottom:2px;background:white;border-bottom:1px solid var(--line);box-shadow:0 2px 6px #122b2b0a}

.home-page .sidebar .result-head h2{margin:0;line-height:1.4}
.home-page .sidebar .result-sort{min-height:32px;padding:4px 5px;line-height:1.3}
@media(max-width:800px){
 .home-page .sidebar .result-head{min-height:44px;padding-top:0;padding-bottom:0}
 .home-page .sidebar .result-sort{min-height:44px}
}

/* Mobile search sheet; the map keeps its full size while the sheet moves. */
.home-page .workspace .sidebar{display:flex;flex-direction:column;overflow:hidden;background:#fff}
.home-page .sheet-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;background:#fff}
.home-page .sheet-handle{display:none}
@media(max-width:800px){
 .home-page .workspace{--bottom-sheet-ready:1}
 .home-page .workspace.has-bottom-sheet{display:block;position:relative;isolation:isolate}
 .home-page .workspace.has-bottom-sheet .map-panel{position:absolute;inset:0;z-index:0;isolation:isolate;contain:paint}
 .home-page .workspace.has-bottom-sheet .sidebar{position:absolute;inset:auto 0 0;width:100%;height:var(--sheet-height,58%);z-index:600;background:#fff;isolation:isolate;transform:translateZ(0);border:1px solid var(--line);border-bottom:0;border-radius:20px 20px 0 0;box-shadow:0 -4px 22px #122b2b24;transition:height .2s ease}
 .home-page .has-bottom-sheet .sheet-handle{display:flex;flex:none;flex-direction:column;align-items:center;justify-content:center;width:100%;height:32px;padding:0 16px;border:0;border-bottom:1px solid #edf1ee;border-radius:20px 20px 0 0;background:white;color:#49655a;font:inherit;font-size:12px;font-weight:650;line-height:1.4;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
 .home-page .sheet-grip{display:block;width:38px;height:4px;border-radius:4px;background:#bdcec4}
 .home-page .sheet-handle:focus-visible{outline:3px solid #c59826;outline-offset:-4px}
 .home-page .has-bottom-sheet .sheet-scroll{padding-bottom:max(12px,env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch}
 .home-page .sidebar[data-sheet-state="collapsed"] .sheet-scroll{visibility:hidden;pointer-events:none}
 .home-page .workspace.has-bottom-sheet .sidebar.is-dragging{transition:none}
 .home-page .sidebar.is-dragging .sheet-handle{cursor:grabbing}
}
@media(prefers-reduced-motion:reduce){.home-page .workspace.has-bottom-sheet .sidebar{transition:none}}

/* Scope describes the committed list; panning only offers an explicit new search. */
.home-page .result-head h2 .result-scope{color:var(--ink);margin-left:0}
.home-page .map-search-area{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:501;min-height:44px;padding:10px 18px;border:1px solid #008663;border-radius:24px;background:white;color:#006d50;box-shadow:0 3px 14px #122b2b24;font-size:14px;font-weight:750;white-space:nowrap}
.home-page .map-search-area:hover{background:#effaf4}
.home-page .empty-all{min-height:44px;padding:9px 16px;border:1px solid #bed7c9;border-radius:10px;background:#f1f8f4;color:#006d50;font-weight:650}

@media(max-width:800px){.home-page .map-search-area{top:8px}}

.home-page .map-search-area:not([hidden])~.map-visit-note{max-width:calc(50% - 108px)}

/* Optional announcements occupy space only when published. */
.home-page>.site-notice--header{flex:none;margin:0;border-bottom:1px solid #d3e5db;background:#f0f7f3}
.home-page .site-notice[hidden]{display:none}
.site-notice__line{display:flex;align-items:center;gap:8px;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:9px 18px;border:0;background:none;color:#285c48;font:inherit;font-size:13px;line-height:1.5;text-decoration:none;text-align:left}
button.site-notice__line,a.site-notice__line{cursor:pointer}
button.site-notice__line:hover,a.site-notice__line:hover{background:#e5f1e9}
.site-notice__text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.site-notice__icon,.site-notice__arrow{flex:none}
.site-notice__arrow{font-size:20px;line-height:1}
.site-notice--header .site-notice__line{max-width:1440px;margin-inline:auto}
.site-notice--filter{margin:12px 18px 0;border:1px solid #dcebe2;border-radius:10px;background:#f3f9f5;overflow:hidden}
.site-notice--filter .site-notice__line{padding:9px 12px}
.notice-dialog{box-sizing:border-box;width:calc(100% - 40px);max-width:500px;max-height:85vh;max-height:85dvh;padding:28px;border:0;border-radius:20px;color:#183c2e;background:white;box-shadow:0 18px 60px #122b2b44;overflow-y:auto}
.notice-dialog::backdrop{background:#102b2b66}
.notice-dialog h2{margin:8px 36px 18px 0;font-size:22px;line-height:1.5;overflow-wrap:anywhere}
.notice-dialog p{font-size:15px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.notice-dialog a{display:inline-flex;align-items:center;min-height:44px;color:#007454;font-weight:650}
.notice-close{position:absolute;top:12px;right:12px;width:44px;height:44px;padding:0;border:0;border-radius:12px;background:#f0f6f2;color:#285c48;font-size:24px;cursor:pointer}
@media(max-width:800px){.site-notice--header .site-notice__line{padding:8px 16px}.site-notice--filter{margin:10px 16px 0}.notice-dialog{padding:24px 20px}}
