.osm-panel,.osm-card{position:absolute;z-index:12;color:#2d3e31;background:#f3f2eaf5;border:1px solid #d7ddcfb0;border-radius:14px;box-shadow:0 8px 30px #0c251722;font:12px/1.45 system-ui,sans-serif;backdrop-filter:blur(12px)}
.osm-panel{left:auto;right:calc(var(--edge) + 60px);top:calc(var(--rail-top) + 30px + env(safe-area-inset-top));width:264px;max-height:55dvh;overflow:auto;overscroll-behavior:contain}
.osm-panel[hidden],.osm-feature[hidden]{display:none!important}
.osm-panel-header{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px 3px 16px;background:#f3f2eaf5}
.osm-panel h2{font-size:13px;font-weight:600;margin:0;letter-spacing:.01em}
.osm-close{font:24px/1 system-ui,sans-serif;width:40px;height:40px;flex:none;border:0;border-radius:50%;background:none;color:#405442;cursor:pointer}
.osm-panel-content{padding:0 16px}.osm-visibility{display:flex;align-items:center;gap:9px;min-height:38px;font-size:12px;font-weight:500;cursor:pointer}
.osm-visibility input,.osm-filter input{accent-color:#456039;width:16px;height:16px;margin:0;flex:none}
.osm-filters{font-size:11px;border-top:1px solid #d1d8c98c}.osm-filters summary{cursor:pointer;padding:9px 0;color:#52664d}.osm-filter-list{display:flex;flex-wrap:wrap;gap:0 12px;padding:1px 0 4px}.osm-filter{display:flex;gap:6px;align-items:center;min-height:34px;cursor:pointer}.osm-filters-muted .osm-filter-list{opacity:.5}
.osm-status{font-size:10px;line-height:1.5;color:#66725f;margin:3px 0 11px}
.osm-panel-footer{padding:0 16px 10px;border-top:1px solid #d1d8c9;font-size:9px;line-height:1.5;background:#edeee590}.osm-panel-footer summary{padding:9px 0 0;cursor:pointer;color:#596b50}.osm-panel-footer[open] summary{padding-bottom:8px}.osm-date{display:block;color:#596b50;margin-top:4px}.osm-coverage{margin:5px 0 3px;color:#65755e}.osm-download{font-size:9px}
.osm-card{left:var(--edge);bottom:calc(80px + env(safe-area-inset-bottom));width:280px;max-height:min(38dvh,310px);overflow:auto;overscroll-behavior:contain;padding:18px 18px 16px}
.osm-card-close{position:absolute;top:3px;right:3px}.osm-feature-type{text-transform:uppercase;letter-spacing:.1em;font-size:9px;color:#637358;margin:0 32px 7px 0}.osm-feature h3{font-size:19px;font-weight:550;line-height:1.2;letter-spacing:-.35px;margin:0 25px 12px 0;overflow-wrap:anywhere}.osm-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:10px;margin:0 0 10px}.osm-facts:empty{display:none}.osm-facts dt{color:#66735f}.osm-facts dd{margin:0;text-align:right;overflow-wrap:anywhere}.osm-feature-note{font-size:10px;line-height:1.5;color:#63705e;margin:0 0 9px}.osm-source-link{font-size:10px}.osm-panel a,.osm-card a{color:#354f36;text-underline-offset:3px}
.osm-toggle-button{position:absolute;right:30px;top:380px;z-index:11;padding:12px;border:0;border-radius:10px;background:#f3f2eaf5;color:#2d3e31;font-size:11px;cursor:pointer}
.osm-toggle-button[data-layer-visible=true],.places-button[data-layer-visible=true]{background:#324d39;color:white}.osm-toggle-button[aria-expanded=true]{outline:2px solid #bfd2aa;outline-offset:3px}
.osm-panel button:focus-visible,.osm-card button:focus-visible,.osm-panel summary:focus-visible,.osm-panel a:focus-visible,.osm-card a:focus-visible,.osm-panel input:focus-visible{outline:2px solid #527842;outline-offset:3px}
@media(max-width:600px){.osm-panel{left:auto;right:80px;top:calc(130px + env(safe-area-inset-top));width:calc(100% - 98px);max-width:260px;max-height:42dvh;font-size:11px}.osm-panel-header{padding:3px 5px 1px 13px}.osm-panel-content{padding:0 13px}.osm-panel-footer{padding:0 13px 9px;font-size:9px}.osm-panel h2{font-size:12px}.osm-visibility{min-height:40px;font-size:11px}.osm-filter{min-height:40px}.osm-close{width:44px;height:44px}.osm-card{left:16px;bottom:calc(88px + env(safe-area-inset-bottom));width:calc(100% - 94px);max-width:280px;max-height:34dvh;padding:15px 15px 13px}.osm-feature h3{font-size:18px}.osm-facts{font-size:10px}.osm-toggle-button{right:17px;top:360px;width:44px;min-height:44px;padding:10px 3px;font-size:9px}}
@media(prefers-reduced-transparency:reduce){.osm-panel,.osm-card{background:#f3f2ea;backdrop-filter:none}}

@media(max-height:520px){.osm-panel{top:88px;max-height:calc(100dvh - 150px)}.osm-card{bottom:60px;max-height:calc(100dvh - 150px)}}

.osm-openings-link:not([hidden]){display:flex;align-items:center;min-height:44px;margin-bottom:4px}

/* Quiet, monochrome food affordances; the same mark is reused in search. */
.osm-food-icon,.search-symbol-restaurant{display:inline-block;flex:none;width:16px;height:16px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 3v5a3 3 0 0 0 6 0V3M8 3v18M19 21V3c-3 1-4 4-4 8h4' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.search-symbol-restaurant{width:22px;height:22px}
.osm-food-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px}.osm-food-actions[hidden],.osm-food-actions [hidden]{display:none!important}
.osm-food-actions .osm-place-action{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 13px;border:1px solid #d5dccf;border-radius:10px;background:#fff9;color:#354f36;font:500 11px/1.2 system-ui,sans-serif;text-decoration:none;cursor:pointer}
.osm-food-actions .osm-directions{color:#fff;background:#315645;border-color:#315645}.osm-place-action:disabled{opacity:.6;cursor:wait}
@media(max-width:600px){.osm-food-actions .osm-place-action{min-height:44px}.search-symbol-restaurant{width:19px;height:19px}}
