.mp2{--mp2-gap:14px;--mp2-radius:var(--radius-md);--mp2-sheet-peek:60px;display:block}.mp2-head{max-width:640px;margin-bottom:20px}.mp2-head h1{margin:10px 0 12px}.mp2-bar{display:flex;flex-direction:column;gap:var(--mp2-gap);margin-bottom:10px}.mp2-zip{display:flex;flex-wrap:wrap;gap:8px}.mp2-zip-field{flex:1 1 150px;min-width:0}.mp2-radius{flex:1 1 180px;min-width:0}.mp2-radius select,.mp2-zip input{width:100%;min-height:46px;padding:.6rem .85rem;border-radius:999px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font-family:var(--body-font);font-size:1rem}.mp2 a:focus-visible,.mp2 button:focus-visible,.mp2-radius select:focus-visible,.mp2-zip input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.mp2-radius select:disabled{opacity:.6}.mp2-zip .button{flex:0 0 auto}.mp2-toggle{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--paper)}.mp2-toggle button{flex:1 1 50%;min-height:40px;padding:.5rem 1rem;border-radius:999px;background:transparent;color:var(--ink);font-family:var(--body-font);font-weight:600}.mp2-toggle button:hover{background:var(--oat-flour);color:var(--ink)}.mp2-toggle button.is-on,.mp2-toggle button.is-on:hover{background:var(--espresso);color:var(--hearth-cream)}.mp2-status{margin:0 0 14px;font-size:.92rem;color:var(--ink-soft)}.mp2-split{display:block}.mp2-map-col{display:flex;flex-direction:column;gap:12px}.mp2-map-frame{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:var(--paper-deep)}.mp2-map-frame .ck-map{height:clamp(340px,calc(100dvh - 330px),560px);width:100%}.mp2-map-loading{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--display-font);color:var(--ink-soft);background:var(--paper-deep);pointer-events:none}.mp2-note{margin:0;font-size:.86rem;line-height:1.55;color:var(--ink-soft)}.mp2-bubble{width:60px;height:60px;padding:0;border:2px solid var(--paper);border-radius:999px;background:var(--sage-leaf);color:var(--hearth-cream);display:grid;place-items:center;line-height:1;box-shadow:0 4px 14px rgba(59,46,36,.28);cursor:pointer}.mp2-bubble:hover{background:var(--espresso);color:var(--hearth-cream)}.mp2-bubble-count{font-family:var(--display-font);font-size:1.15rem;font-weight:700}.mp2-bubble-word{font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}.mp2-pop{position:absolute;z-index:620;width:min(320px,calc(100% - 24px));transform:translate(-50%,calc(-100% - 34px))}.mp2-pop.is-below{transform:translate(-50%,34px)}.mp2-preview{position:relative;border:1px solid var(--line);border-radius:var(--mp2-radius);background:var(--paper);padding:16px;box-shadow:0 16px 40px rgba(59,46,36,.22)}.mp2-close{position:absolute;top:8px;right:8px;min-height:32px;padding:.25rem .7rem;border-radius:999px;background:var(--oat-flour);color:var(--ink);font-size:.78rem;font-weight:600}.mp2-close:hover{background:var(--honey-butter);color:var(--ink)}.mp2-preview-head{display:flex;gap:12px;align-items:center;padding-right:62px;margin-bottom:12px}.mp2-preview-head h3{margin:0 0 2px;font-family:var(--display-font);font-size:1.15rem;line-height:1.2}.mp2-preview-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}.mp2-follow-wrap{display:inline-flex;flex-direction:column;gap:2px}.mp2-follow{min-height:40px}.mp2-mark{flex:0 0 auto;border-radius:14px;border:1px solid var(--line);background:var(--paper-deep);object-fit:cover;display:grid;place-items:center}.mp2-mark.is-sm{width:48px;height:48px;font-size:1.4rem}.mp2-mark.is-lg{width:56px;height:56px;font-size:1.7rem}.mp2-where{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.86rem}.mp2-soft,.mp2-where{color:var(--ink-soft)}.mp2-soft{font-size:.82rem}.mp2-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.mp2-items a{display:flex;align-items:center;gap:10px;padding:7px 6px;border-radius:10px;color:var(--ink);text-decoration:none}.mp2-items a:hover{background:var(--oat-flour);color:var(--ink)}.mp2-item-face{flex:0 0 auto;width:38px;height:38px;border-radius:9px;overflow:hidden;background:var(--paper-deep);display:grid;place-items:center;font-size:1.1rem}.mp2-item-face img{width:100%;height:100%;object-fit:cover;display:block}.mp2-item-name{flex:1 1 auto;min-width:0;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp2-item-price{flex:0 0 auto;font-weight:600;font-size:.92rem}.mp2-results-col{display:flex;flex-direction:column;min-height:0}.mp2-results-scroll{gap:14px;padding:14px 0 4px}.mp2-cards,.mp2-results-scroll{display:flex;flex-direction:column}.mp2-cards{list-style:none;margin:0;padding:0;gap:12px}.mp2-card{border:1px solid var(--line);border-radius:var(--mp2-radius);background:var(--paper);padding:12px;transition:border-color .16s ease,box-shadow .16s ease}.mp2-card.is-on{border-color:var(--cinnamon);box-shadow:var(--shadow)}.mp2-card-hit{width:100%;display:flex;align-items:center;gap:12px;padding:0 0 10px;background:none;border:0;border-radius:10px;text-align:left;color:var(--ink);font-family:var(--body-font);min-height:0}.mp2-card-hit:hover{background:none;color:var(--cinnamon)}.mp2-card-name{display:flex;flex-direction:column;gap:3px;min-width:0}.mp2-card-shop{font-family:var(--display-font);font-size:1.05rem;font-weight:600}.mp2-card-actions{margin-top:10px}.mp2-link{font-weight:600;font-size:.92rem;color:var(--cinnamon)}.mp2-empty{border:1px dashed var(--line);border-radius:var(--mp2-radius);padding:20px;background:var(--paper)}.mp2-empty h2{margin:0 0 8px;font-family:var(--display-font);font-size:1.1rem}.mp2-empty p{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.55}.mp2-private{border-top:1px solid var(--line);padding-top:16px}.mp2-private h2{margin:0 0 6px;font-family:var(--display-font);font-size:1.02rem}.mp2-private>p{margin:0 0 12px;font-size:.88rem;line-height:1.55;color:var(--ink-soft)}.mp2-sheet{position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--paper);border-top:1px solid var(--line);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -12px 34px rgba(59,46,36,.18);transition:height .22s ease;overflow:hidden}.mp2-sheet.is-peek{height:var(--mp2-sheet-peek)}.mp2-sheet.is-open{height:min(76dvh,640px)}.mp2-sheet .mp2-results-scroll{flex:1 1 auto;overflow-y:auto;padding:4px 16px 24px;overscroll-behavior:contain}.mp2-sheet-handle{flex:0 0 auto;width:100%;min-height:var(--mp2-sheet-peek);display:grid;grid-template-columns:1fr auto;grid-template-areas:"grip grip" "label hint";align-items:center;grid-gap:2px 10px;gap:2px 10px;padding:6px 16px 10px;font-family:var(--body-font);font-weight:600;border-radius:0;text-align:left}.mp2-sheet-handle,.mp2-sheet-handle:hover{background:none;color:var(--ink)}.mp2-sheet-grip{grid-area:grip;justify-self:center;width:40px;height:4px;border-radius:999px;background:var(--line)}.mp2-sheet-handle>span:nth-of-type(2){grid-area:label}.mp2-sheet-hint{grid-area:hint;font-weight:600;font-size:.86rem;color:var(--cinnamon)}.mp2-slideover{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:12px 12px calc(12px + env(safe-area-inset-bottom, 0px));animation:mp2-rise .22s ease}.mp2-slideover .mp2-preview{border-radius:var(--radius-lg);box-shadow:0 -14px 40px rgba(59,46,36,.26)}@keyframes mp2-rise{0%{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}.mp2-page>.prototype-note{margin-bottom:calc(var(--mp2-sheet-peek) + 40px)}.mp2.is-list .mp2-results-scroll{padding-top:4px}@media (min-width:861px){.mp2.is-map .mp2-split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);grid-gap:clamp(20px,2.4vw,36px);gap:clamp(20px,2.4vw,36px);align-items:start}.mp2-map-col{position:-webkit-sticky;position:sticky;top:92px}.mp2-map-frame .ck-map{height:clamp(460px,calc(100vh - 210px),720px)}.mp2-sheet{position:static;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:visible}.mp2-sheet,.mp2-sheet.is-open,.mp2-sheet.is-peek{height:auto}.mp2-sheet .mp2-results-scroll{overflow:visible;padding:0 0 4px}.mp2-sheet-handle{display:none}.mp2-page>.prototype-note{margin-bottom:0}.mp2-bar{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap}.mp2-zip{flex:1 1 460px}.mp2-toggle{flex:0 0 auto}.mp2-toggle button{flex:0 0 auto;min-width:96px}}@media (min-width:700px){.mp2.is-list .mp2-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:14px;gap:14px}}@media (prefers-reduced-motion:reduce){.mp2-card,.mp2-sheet{transition:none}.mp2-slideover{animation:none}}