@layer blossom-carousel{[blossom-carousel]{white-space:nowrap;scroll-behavior:smooth;overscroll-behavior-x:contain;box-sizing:border-box;inline-size:100%;max-inline-size:100vw;list-style-type:none;display:inline-block;overflow:auto clip}[blossom-carousel]:is(ul){padding-inline-start:0}[blossom-carousel]{scrollbar-width:none}[blossom-carousel]::-webkit-scrollbar{display:none}[blossom-carousel][has-repeat=true]{padding-inline:50%!important;scroll-padding-inline:50%!important}[blossom-carousel][has-snap=true]{scroll-snap-type:var(--snap-type)!important}[blossom-carousel][has-overflow=true]{cursor:grab}[blossom-carousel][has-overflow=true]:active{cursor:grabbing}@media (pointer:fine){[blossom-carousel][has-overflow=true]:active{scroll-snap-type:none!important}}[blossom-carousel]>*{white-space:initial;vertical-align:top;display:inline-block}[blossom-carousel] *{-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}}:where([data-blossom-dots]){gap:var(--blossom-dots-gap,.5rem);justify-content:center;align-items:center;display:flex}:where([data-blossom-dot]){color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0}:where([data-blossom-dot-marker]){inline-size:var(--blossom-dot-size,.625rem);block-size:var(--blossom-dot-size,.625rem);border-radius:var(--blossom-dot-radius,50%);background:var(--blossom-dot-color,currentColor);opacity:var(--blossom-dot-opacity,.35);transition:opacity .2s;display:block}:where([data-blossom-dot]:hover [data-blossom-dot-marker]){opacity:var(--blossom-dot-hover-opacity,.6)}:where([data-blossom-dot][aria-current=true] [data-blossom-dot-marker]){opacity:var(--blossom-dot-active-opacity,1)}:where([blossom-prev]),:where([blossom-next]){touch-action:manipulation}
:root{--stamp-duration:.52s;--stamp-ease:cubic-bezier(.23, 1, .32, 1);--stamp-ink-food:#f69f72;--stamp-ink-coffee:#deb870;--stamp-ink-bars:#7bbdff;--stamp-ink-galleries:#82cb9b;--stamp-ink-culture:#82cb9b;--stamp-ink-clubs:#ce99e5;--stamp-ink-shopping:#e79ad6;--stamp-ink-shops:#e79ad6;--stamp-ink-leisure:#6ccac4}@supports (color:lab(0% 0 0)){:root{--stamp-ink-food:lab(73.7804% 29.873 37.6027);--stamp-ink-coffee:lab(76.9533% 7.77 41.3927);--stamp-ink-bars:lab(74.1011% -7.69091 -40.9642);--stamp-ink-galleries:lab(75.8019% -31.4357 16.1527);--stamp-ink-culture:lab(75.8019% -31.4357 16.1527);--stamp-ink-clubs:lab(70.4655% 30.2005 -30.9533);--stamp-ink-shopping:lab(72.7818% 36.3874 -18.5799);--stamp-ink-shops:lab(72.7818% 36.3874 -18.5799);--stamp-ink-leisure:lab(75.5051% -30.2687 -6.09714)}}.viewer-shell .stamps-open{pointer-events:auto;border:1px solid var(--glass-border);background:var(--glass);height:48px;box-shadow:var(--glass-shadow);color:var(--foreground);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);cursor:pointer;touch-action:manipulation;border-radius:13px;flex-shrink:0;align-items:center;gap:7px;padding:0 11px;font-size:.78rem;font-weight:500;display:inline-flex}.viewer-shell .stamps-open em{color:var(--muted-foreground);font-variant-numeric:tabular-nums;white-space:nowrap;font-style:normal;font-weight:400}.viewer-shell .profile-trigger{max-width:min(200px,100vw - 168px)}.viewer-shell .profile-trigger:has(.map-credit){max-width:min(280px,100vw - 168px)}.viewer-shell[data-stamps-book] .workspace,.viewer-shell[data-stamps-book] .filter-row,.viewer-shell[data-stamps-book] .card-dock,.viewer-shell[data-stamps-book] .bottom-bar,.viewer-shell[data-stamp-press] .workspace{visibility:hidden;pointer-events:none}html[data-stamps-overlay],html[data-stamps-overlay] body{overscroll-behavior:none;overflow:hidden}.stamp-actions{align-items:stretch;gap:8px;margin-top:12px;display:flex}.stamp-actions .maps-choice{flex:1 1 0;min-width:0;margin:0}.stamp-actions .maps-choice .btn{width:100%}.stamp-collect{border-radius:var(--radius-chip);background:var(--primary);min-width:0;min-height:44px;color:var(--primary-foreground);cursor:pointer;touch-action:manipulation;box-shadow:var(--shadow);border:0;flex:1 1 0;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-weight:650;transition:transform .15s ease-out,background-color .15s ease-out;display:inline-flex}.stamp-collect:disabled{background:var(--card);color:var(--muted-foreground);cursor:not-allowed}.stamp-collect:not(:disabled):active{transform:scale(.96)}.stamp-need-here{border:1px solid var(--border);background:color-mix(in oklch, var(--foreground) 7%, transparent);color:var(--foreground);text-wrap:pretty;border-radius:12px;flex-direction:column;gap:8px;margin:12px 0 0;padding:10px 12px;font-size:.86rem;line-height:1.35;display:flex}.stamp-need-here p{margin:0}.stamp-need-here ol{flex-direction:column;gap:6px;margin:0;padding-left:1.25em;display:flex}.stamp-need-here li{padding-left:.15em}.stamp-need-here strong{font-weight:650}.stamp-need-here-action{border-radius:var(--radius-chip);background:var(--primary);width:100%;min-height:44px;color:var(--primary-foreground);cursor:pointer;touch-action:manipulation;box-shadow:var(--shadow);border:0;margin-top:4px;font-weight:650}.stamp-need-here-action:disabled{background:var(--card);color:var(--muted-foreground);cursor:not-allowed;box-shadow:none}.spot-detail:has(.stamp-need-here) .spot-detail-media .spot-photo{height:min(18dvh,112px)}.stamp-collected{border:1px solid var(--border);border-radius:var(--radius-chip);background:var(--card);appearance:none;min-width:0;min-height:44px;font:inherit;color:inherit;text-align:left;cursor:pointer;touch-action:manipulation;flex:1 1 0;align-items:center;gap:8px;padding:0 10px 0 6px;display:flex}.stamp-collected .stamp-mark{flex:none}.stamp-collected span{min-width:0;color:var(--muted-foreground);flex-direction:column;gap:1px;font-size:.72rem;display:flex}.stamp-collected strong{color:var(--foreground);font-variant-numeric:tabular-nums;letter-spacing:.04em;font-size:.82rem;font-weight:600}.stamp-mark{color:var(--stamp-ink-bars);transform:rotate(var(--stamp-rot,-6deg));-webkit-user-select:none;user-select:none;pointer-events:none;place-items:center;display:grid}.stamp-mark svg{width:100%;height:100%;overflow:visible}.stamp-mark[data-category=food],.stamp-press-mark[data-category=food]{color:var(--stamp-ink-food)}.stamp-mark[data-category=coffee],.stamp-press-mark[data-category=coffee]{color:var(--stamp-ink-coffee)}.stamp-mark[data-category=bars],.stamp-press-mark[data-category=bars]{color:var(--stamp-ink-bars)}.stamp-mark[data-category=galleries],.stamp-mark[data-category=culture],.stamp-press-mark[data-category=galleries],.stamp-press-mark[data-category=culture]{color:var(--stamp-ink-galleries)}.stamp-mark[data-category=clubs],.stamp-press-mark[data-category=clubs]{color:var(--stamp-ink-clubs)}.stamp-mark[data-category=shopping],.stamp-mark[data-category=shops],.stamp-press-mark[data-category=shopping],.stamp-press-mark[data-category=shops]{color:var(--stamp-ink-shopping)}.stamp-mark[data-category=leisure],.stamp-press-mark[data-category=leisure]{color:var(--stamp-ink-leisure)}.stamp-mark[data-empty=true]{opacity:.16}.stamp-mark-name,.stamp-mark-rim{text-transform:uppercase;font-family:Avenir Next Condensed,Futura,PingFang SC,Noto Sans SC,ui-sans-serif,sans-serif;font-weight:700}.stamp-mark[data-press]{will-change:transform, opacity;animation:stamp-press-in var(--stamp-duration) var(--stamp-ease) both}.stamps-book-layer{z-index:90;overscroll-behavior:none;touch-action:pan-y;position:fixed;inset:0;overflow:hidden}.stamps-book{overscroll-behavior:none;touch-action:pan-y;background:var(--paper);color:var(--foreground);padding:8px 14px max(16px, env(safe-area-inset-bottom));flex-direction:column;width:100%;max-width:100%;display:flex;position:absolute;inset:64px 0 0;overflow:hidden}.stamps-book-head{align-items:flex-start;gap:12px;padding:8px 2px 12px;display:flex}.stamps-book-head h2{letter-spacing:-.03em;text-wrap:balance;color:var(--foreground);margin:0;font-size:1.45rem;line-height:1.1}.stamps-book-head p{color:var(--muted-foreground);font-variant-numeric:tabular-nums;text-wrap:pretty;max-width:42ch;margin:6px 0 0;font-size:.88rem}.stamps-book-close{border:1px solid var(--glass-border);background:var(--glass);width:44px;height:44px;color:var(--foreground);cursor:pointer;touch-action:manipulation;border-radius:50%;flex:none;place-items:center;margin-left:auto;display:grid}.stamps-book-grid{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex:auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:min-content;align-content:start;gap:10px 6px;min-width:0;min-height:0;padding:4px 0 24px;display:grid;overflow:hidden auto}.stamps-book-cell{aspect-ratio:1;contain:paint;appearance:none;width:100%;min-width:0;color:inherit;font:inherit;background:0 0;border:0;place-items:center;margin:0;padding:0;display:grid}button.stamps-book-cell{cursor:pointer;touch-action:manipulation}.stamp-press{z-index:110;overscroll-behavior:none;touch-action:none;pointer-events:auto;background:#00000085;place-items:center;width:100%;max-width:100%;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}.stamp-press-close{appearance:none;border-radius:var(--radius-chip);min-height:44px;color:var(--muted-foreground);font:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0 14px;font-size:.88rem;font-weight:500}.stamp-press-card{background:var(--card);width:min(280px,100%);max-width:100%;color:var(--foreground);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;align-items:center;gap:14px;padding:28px 20px 22px;display:flex}.stamp-press-mark{color:var(--stamp-ink-bars);place-items:center;display:grid;position:relative;overflow:visible}.stamp-ink-splash{pointer-events:none;z-index:1;position:absolute;inset:-28%;overflow:visible}.stamp-ink-speck{width:var(--ink-w);height:var(--ink-h);margin-left:calc(var(--ink-w) / -2);margin-top:calc(var(--ink-h) / -2);opacity:0;pointer-events:none;animation:stamp-ink-speck .52s var(--stamp-ease) var(--ink-delay) both;background:currentColor;border-radius:62% 38% 58% 42%;position:absolute;top:50%;left:50%}@keyframes stamp-ink-speck{0%{opacity:0;transform:rotate(var(--ink-a)) translateY(calc(-1 * var(--ink-r))) scale(.35)}18%{opacity:.9}to{opacity:0;transform:rotate(var(--ink-a)) translateY(calc(-1 * (var(--ink-r) + var(--ink-d)))) scale(.18)}}.stamp-press-card p{text-align:center;text-wrap:balance;overflow-wrap:anywhere;color:var(--foreground);margin:0;font-size:1.05rem;font-weight:600;line-height:1.25}.stamp-press-card small{color:var(--muted-foreground);font-size:.78rem}@keyframes stamp-press-in{0%{opacity:0;transform:translateY(-46px) rotate(calc(var(--stamp-rot,-6deg) - 10deg)) scale(1.16)}58%{opacity:1;transform:translateY(7px) rotate(var(--stamp-rot,-6deg)) scale(.97)}76%{transform:translateY(-4px) rotate(var(--stamp-rot,-6deg)) scale(1.02)}to{opacity:1;transform:translateY(0) rotate(var(--stamp-rot,-6deg)) scale(1)}}@media (min-width:768px){.stamps-book{border-left:1px solid var(--border);width:min(560px,100%);box-shadow:var(--shadow);left:auto}.stamps-book-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:1280px){.stamps-book-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (hover:hover) and (pointer:fine){.viewer-shell .stamps-open:hover{background:#ffffff24}.stamp-collect:not(:disabled):hover{background:color-mix(in oklch, var(--primary) 88%, white)}.stamp-collected:hover{background:color-mix(in oklch, var(--card) 86%, var(--foreground))}button.stamps-book-cell:hover{background:color-mix(in oklch, var(--foreground) 6%, transparent)}.stamp-press-close:hover{color:var(--foreground)}}@media (prefers-reduced-motion:reduce){.stamp-mark[data-press],.stamp-collect,.stamp-ink-speck{transition:none;animation:none}.stamp-ink-splash{display:none}}
