.dialog{border-radius:var(--radius-card);background:var(--white);width:min(100% - 2rem,30rem);max-height:min(100dvh - 2rem,46rem);color:var(--navy-900);box-shadow:var(--shadow-3);border:0;padding:0;overflow:hidden}.dialog--wide{width:min(100% - 2rem,46rem)}.dialog::backdrop{background:#0b14228c}.dialog[open]{animation:dialog-in .18s var(--ease);display:flex}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)}}.dialog__panel{flex-direction:column;width:100%;min-height:0;display:flex}.dialog__head{justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem .25rem;display:flex}.dialog__head h2{font-size:var(--text-2xl)}.dialog__close{border-radius:var(--radius-control);background:0 0;border:0;flex:none;place-items:center;width:2.5rem;height:2.5rem;margin-right:-.5rem;display:grid}.dialog__close:hover{background:var(--ivory-100)}.dialog__body{gap:1rem;padding:.75rem 1.25rem 1.25rem;display:grid;overflow-y:auto}.dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;margin-top:.25rem;display:flex}.toast-region{left:0;right:0;bottom:max(1rem, env(safe-area-inset-bottom));z-index:70;pointer-events:none;justify-content:center;padding-inline:1rem;display:flex;position:fixed}.toast{border-radius:var(--radius-control);background:var(--navy-900);max-width:32rem;color:var(--ivory-50);box-shadow:var(--shadow-3);pointer-events:auto;animation:toast-in .2s var(--ease);align-items:center;gap:1rem;padding:.7rem .9rem .7rem 1.1rem;font-size:.9375rem;font-weight:550;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.toast__action{min-height:2.25rem;color:var(--gold-300);background:0 0;border:1px solid #f8f6f04d;border-radius:6px;flex:none;padding:0 .7rem;font-weight:700}.toast__action:hover{border-color:var(--gold-300)}.toast__action:focus-visible{outline-color:var(--gold-500)}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--ivory-100);grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:inline-grid}.segmented__option{position:relative}.segmented__option input{opacity:0;cursor:pointer;position:absolute;inset:0}.segmented__option span{min-height:2.25rem;font-size:var(--text-sm);white-space:nowrap;color:var(--slate-700);transition:background-color .15s var(--ease), color .15s var(--ease);border-radius:6px;justify-content:center;align-items:center;gap:.4rem;padding:0 .8rem;font-weight:650;display:flex}.segmented__option input:checked+span{background:var(--white);color:var(--navy-900);box-shadow:var(--shadow-1)}.segmented__option input:focus-visible+span{outline:2px solid var(--navy-900);outline-offset:1px}.segmented__swatch{border-radius:2px;flex:none;width:.7rem;height:.7rem}.mapapp{gap:1.25rem;display:grid}.mapapp__grid{align-items:start;gap:1.5rem;display:grid}.mapapp__stage{gap:.75rem;min-width:0;display:grid}.mapapp__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.mapapp__tools{gap:.15rem;display:flex}.mapapp__sheet{border:1px solid var(--line);border-radius:var(--radius-paper);background:var(--white);box-shadow:var(--shadow-2);padding:clamp(.4rem,1.4vw,.9rem)}.mapapp__sheet .map-frame{width:min(100%, calc(var(--map-max-height,100vh) * var(--map-ratio,1.2)));margin-inline:auto}.mapapp__prompt{border:1px solid var(--forest-200);border-radius:var(--radius-control);background:var(--forest-100);min-height:3.25rem;font-size:var(--text-sm);color:var(--ink-2);align-items:center;gap:.75rem;padding:.3rem .4rem .3rem .85rem;line-height:1.35;display:flex}.mapapp__prompt-text{flex:1;min-width:0}.mapapp__prompt strong{color:var(--ink)}.mapapp__prompt .btn{flex:none}.mapapp__under{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem 1.5rem;display:flex}.mapapp__panel{gap:1.75rem;min-width:0;display:grid}.mapapp__col{align-content:start;gap:1.5rem;min-width:0;display:grid}@media (width<=63.99rem){html:has(.mapapp--page){scroll-padding-top:calc(40dvh + 6rem)}.mapapp--page .mapapp__grid{gap:.75rem}.mapapp--page .mapapp__stage{display:contents}.mapapp--page .mapapp__sheet{z-index:5;--map-max-height:40dvh;position:sticky;top:.4rem}.mapapp--page .mapapp__sheet:before{content:"";left:calc(var(--gutter) * -1);right:calc(var(--gutter) * -1);background:var(--bg);height:.5rem;position:absolute;bottom:100%}.mapapp--page .mapapp__panel{margin-top:.75rem}}@media (width>=64rem){.mapapp__grid{grid-template-columns:minmax(0,1.7fr) minmax(20rem,1fr);gap:2.5rem}.mapapp__stage{position:sticky;top:1.25rem}.mapapp__sheet{--map-max-height:calc(100dvh - 11rem)}.mapapp--embed .mapapp__grid{grid-template-columns:minmax(0,1.5fr) minmax(19rem,1fr)}.mapapp--stack .mapapp__grid{grid-template-columns:minmax(0,1fr);gap:2rem}.mapapp--stack .mapapp__stage{position:static}.mapapp--stack .mapapp__sheet{--map-max-height:calc(100dvh - 9rem)}.mapapp--stack .mapapp__panel{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:2.75rem}}html:not(.js) .mapapp--shell :is(.mapapp__toolbar,.map__bar,.mapapp__prompt,.mapapp__under,.mapapp__panel),[data-placeholder].is-failed .mapapp--shell :is(.mapapp__toolbar,.map__bar,.mapapp__prompt,.mapapp__under,.mapapp__panel){display:none}.legend{font-size:var(--text-sm);color:var(--ink-2);flex-wrap:wrap;gap:.35rem 1.1rem;list-style:none;display:flex}.legend li{align-items:center;gap:.45rem;display:inline-flex}.legend__swatch{border:1px solid var(--map-coast);background:var(--map-land);border-radius:2px;flex:none;width:.95rem;height:.95rem;display:inline-block}.legend__swatch--visited,.legend__swatch--both{background:var(--map-visited);border-color:var(--map-visited)}.legend__swatch--wishlist{background:repeating-linear-gradient(45deg, var(--map-wish-line) 0 2px, var(--map-wish-bg) 2px 5px);border-color:var(--map-wish-line)}.legend__swatch--you{background:var(--map-you);border-color:#6f9a86}.legend__swatch--friend{background:repeating-linear-gradient(-45deg, #101b2d8c 0 1.5px, var(--map-friend) 1.5px 5px);border-color:var(--gold-600)}.legend .legend__scale{min-width:0}.legend__ramp{border:1px solid var(--map-coast);border-radius:2px;flex:none;height:.95rem;display:inline-flex;overflow:hidden}.legend__ramp i{width:.7rem;height:100%;display:block}.save-state{font-size:var(--text-xs);color:var(--ink-3);align-items:center;gap:.4rem;display:inline-flex}.save-state.is-warn{color:var(--brick-600);font-weight:600}.progress{gap:.6rem;display:grid}.progress__headline{flex-wrap:wrap;align-items:baseline;gap:.2rem .75rem;display:flex}.progress__count{font-family:var(--font-serif);letter-spacing:-.02em;font-size:clamp(3.25rem,2.6rem + 2.6vw,4.5rem);line-height:.9}.progress__of{font-size:var(--text-lg);max-width:14rem;font-weight:600;line-height:1.3}.progress__bar{background:var(--ivory-200);border-radius:3px;height:6px;overflow:hidden}.progress__bar span{background:var(--forest-600);min-width:0;height:100%;transition:width .35s var(--ease);border-radius:3px;display:block}.progress__percent{font-size:var(--text-sm);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:.25rem .5rem;display:flex}.progress__percent strong{color:var(--ink);font-size:var(--text-md)}.progress__done{border-radius:var(--radius-pill);background:var(--forest-600);color:var(--ivory-50);font-size:var(--text-xs);padding:.05rem .5rem;font-weight:700}.progress__facts{font-size:var(--text-sm);color:var(--ink-2);flex-wrap:wrap;gap:.25rem 1.25rem;list-style:none;display:flex}.progress__facts:empty{display:none}.progress__facts strong{color:var(--ink)}.progress__note{font-size:var(--text-xs);color:var(--ink-3);max-width:34rem;line-height:1.5}.progress__area{border-left:2px solid var(--gold-500);background:var(--ivory-100);font-size:var(--text-sm);color:var(--ink-2);gap:.25rem;padding:.75rem .9rem;line-height:1.5;display:grid}.progress__area strong{color:var(--ink)}.progress__places{border:1px solid var(--forest-200);border-radius:var(--radius-control);background:var(--forest-100);gap:.55rem;padding:.85rem .95rem .9rem;display:grid}.progress__places-head{font-size:var(--text-sm);color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:.15rem .6rem;line-height:1.4;display:flex}.progress__places-head strong{color:var(--ink)}.progress__places-percent{font-family:var(--font-serif);letter-spacing:-.01em;font-size:2rem;font-weight:400;line-height:1}.progress__places .progress__bar{background:var(--white)}.progress__places-hint{font-size:var(--text-xs);color:var(--ink-2);line-height:1.5}.progress__inside{font-size:var(--text-sm);gap:.3rem;line-height:1.4;list-style:none;display:grid}.progress__inside li{grid-template-columns:.7rem minmax(0,1fr) auto 3rem;align-items:baseline;gap:.6rem;display:grid}.progress__inside-tone{border:1px solid var(--map-coast);background:var(--map-land);border-radius:2px;align-self:center;width:.7rem;height:.7rem}.progress__inside-name{color:var(--ink);overflow-wrap:anywhere}.progress__inside-count{color:var(--ink-2);white-space:nowrap}.progress__inside-percent{color:var(--ink);text-align:right}.progress__groups{font-size:var(--text-sm);gap:.4rem;list-style:none;display:grid}.progress__groups li{grid-template-columns:minmax(0,9.5rem) minmax(2rem,1fr) auto;align-items:center;gap:.75rem;display:grid}.progress__group-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.progress__group-bar{background:var(--ivory-200);border-radius:2px;height:4px;overflow:hidden}.progress__group-bar span{background:var(--forest-600);height:100%;transition:width .35s var(--ease);display:block}.progress__group-count{color:var(--ink-2);text-align:right;min-width:2.6rem}.mapapp__actions{gap:.6rem;display:grid}.mapapp__actions-row{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.mapapp__actions-row .btn{padding-inline:.6rem}.rollup{border:1px solid var(--forest-200);border-radius:var(--radius-control);background:var(--forest-100);font-size:var(--text-sm);gap:.75rem;padding:.9rem 1rem;line-height:1.5;display:grid}.rollup__actions{flex-wrap:wrap;gap:.5rem;display:flex}.copy-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.copy-row .input{font-size:var(--text-sm);text-overflow:ellipsis}.panel-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.panel-head h2{font-family:var(--font-sans);font-size:var(--text-lg);letter-spacing:-.01em;font-weight:700}.place-list{gap:.5rem;display:grid}.place-search{position:relative}.place-search__icon{color:var(--ink-3);pointer-events:none;position:absolute;top:50%;left:.8rem;transform:translateY(-50%)}.place-search__input{padding-left:2.5rem}.place-group{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--white);overflow:hidden}.place-group__summary{cursor:pointer;align-items:center;gap:.75rem;min-height:2.875rem;padding:.4rem .75rem .4rem .9rem;font-size:.9375rem;font-weight:650;list-style:none;display:flex}.place-group__summary::-webkit-details-marker{display:none}.place-group__summary:hover{background:var(--ivory-50)}.place-group__summary:focus-visible{outline-offset:-2px}.place-group__title{flex:1}.place-group__count{font-size:var(--text-sm);color:var(--ink-2);font-weight:500}.place-group__chevron{color:var(--ink-3);transition:transform .15s var(--ease)}.place-group[open] .place-group__chevron{transform:rotate(180deg)}.place-group__note{font-size:var(--text-xs);color:var(--ink-2);padding:0 .9rem .5rem}.place-group__all{border:0;border-top:1px solid var(--line);text-align:left;width:100%;min-height:2.5rem;font-size:var(--text-sm);color:var(--forest-600);background:0 0;padding:.4rem .9rem;font-weight:600;display:block}.place-group__all:hover{background:var(--forest-100)}.place-group__all:focus-visible{outline-offset:-2px}.place-list__rows{border-top:1px solid var(--line);list-style:none}.place-list>.place-list__rows{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--white);overflow:hidden}.place{align-items:stretch;display:flex}.place+.place{border-top:1px solid var(--ivory-100)}.place:hover{background:var(--ivory-50)}.place__main{cursor:pointer;flex:1;align-items:center;gap:.7rem;min-width:0;min-height:2.75rem;padding:.35rem .25rem .35rem .9rem;display:flex}.place__check{opacity:0;width:1px;height:1px;position:absolute}.place__box{border:1.5px solid var(--slate-500);background:var(--white);color:#0000;width:1.25rem;height:1.25rem;transition:background-color .12s var(--ease), border-color .12s var(--ease);border-radius:4px;flex:none;place-items:center;display:grid}.place__box svg{stroke-width:2.6px}.place__check:checked+.place__box{background:var(--forest-600);border-color:var(--forest-600);color:var(--white)}.place__check:focus-visible+.place__box{outline:2px solid var(--navy-900);outline-offset:2px}.place__name{font-size:.9375rem;font-weight:550;line-height:1.3}.place.is-visited .place__name{font-weight:700}.place__note{font-size:var(--text-xs);color:var(--ink-3);white-space:nowrap;margin-left:auto;padding-left:.5rem}.place__wish{color:#9aa2ad;background:0 0;border:0;flex:none;place-items:center;width:2.75rem;display:grid}.place__wish:hover{color:var(--gold-700)}.place__wish[aria-pressed=true]{color:var(--gold-600)}.place__wish[aria-pressed=true] svg{fill:var(--gold-500)}.place__wish:focus-visible{outline-offset:-3px}.place--detail{flex-wrap:wrap}.place--detail .place__main{min-height:2.5rem;padding-bottom:.1rem}.place__detail{text-align:left;min-width:0;min-height:1.875rem;font-size:var(--text-sm);color:var(--forest-600);background:0 0;border:0;flex:0 0 100%;align-items:center;gap:.25rem;padding:0 .9rem .4rem 2.85rem;font-weight:550;display:flex}.place__detail-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.place__detail strong{font-weight:750}.place__detail-chevron{flex:none;transform:rotate(-90deg)}.place__detail:hover .place__detail-text{text-underline-offset:.15em;text-decoration:underline}.place__detail:focus-visible{outline-offset:-3px}.spots{gap:1.1rem;display:grid}.spots__summary{font-size:var(--text-sm);color:var(--ink-2);gap:.5rem;display:grid}.spots__summary strong{color:var(--ink);font-size:var(--text-md)}.spots__group{gap:.35rem;display:grid}.spots__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.35rem;display:flex}.spots__head h3{font-family:var(--font-sans);font-size:var(--text-md);letter-spacing:-.01em;font-weight:700}.spots__head span{font-size:var(--text-sm);color:var(--ink-2)}.spots__rows{columns:2 15rem;column-gap:1.25rem;list-style:none}.spots__rows li{break-inside:avoid}.spot{cursor:pointer;border-radius:6px;align-items:center;gap:.7rem;min-height:2.5rem;padding:.3rem .4rem;display:flex}.spot:hover{background:var(--ivory-50)}.spot__name{font-size:.9375rem;font-weight:550;line-height:1.3}.spot.is-on .spot__name{font-weight:700}.spot__note{font-size:var(--text-xs);color:var(--ink-3);text-align:right;margin-left:auto;padding-left:.5rem;line-height:1.3}.spots__rule,.spots__note{font-size:var(--text-xs);color:var(--ink-3);line-height:1.5}.spots__note{border-top:1px solid var(--line);padding-top:.75rem}.place-list__empty{border:1px dashed var(--line-strong);border-radius:var(--radius-control);font-size:var(--text-sm);color:var(--ink-2);justify-items:start;gap:.5rem;padding:1.1rem 1rem;display:grid}.place-list__empty strong{color:var(--ink)}.achievements__list{border-top:1px solid var(--line);list-style:none;display:grid}.achievement{border-bottom:1px solid var(--line);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.7rem 0;display:grid}.achievement__icon{border:1px solid var(--line-strong);width:2.1rem;height:2.1rem;color:var(--ink-3);border-radius:50%;place-items:center;display:grid}.achievement.is-earned .achievement__icon{border-color:var(--gold-500);background:var(--gold-100);color:var(--gold-700)}.achievement__text{gap:.1rem;display:grid}.achievement__text strong{font-size:.9375rem}.achievement__text span{font-size:var(--text-xs);color:var(--ink-2);line-height:1.45}.achievement__state{font-size:var(--text-sm);color:var(--ink-2);font-weight:650}.achievement.is-earned .achievement__state{color:var(--forest-600)}.friend-banner{border-radius:var(--radius-control);background:var(--navy-900);color:var(--ivory-50);--ink:var(--ivory-50);--focus:var(--gold-500);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding:.85rem 1rem;display:flex}.friend-banner__text{flex:18rem;align-items:flex-start;gap:.7rem;font-size:.9375rem;line-height:1.5;display:flex}.friend-banner__text svg{color:var(--gold-500);flex:none;margin-top:.1rem}.friend-banner__controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.friend-banner .segmented{background:#f8f6f01a;border-color:#f8f6f033}.friend-banner .segmented__option span{color:var(--slate-on-navy)}.friend-banner .segmented__option input:checked+span{background:var(--ivory-50);color:var(--navy-900)}.friend-banner .segmented__option input:focus-visible+span{outline-color:var(--gold-500)}.friend-banner .btn--bare:hover{--btn-bg:#f8f6f01a}.compare{gap:.75rem;display:grid}.compare h2{font-size:var(--text-2xl)}.compare__verdict{font-size:var(--text-lg);font-weight:600}.compare__scores{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--white);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.compare__scores div{padding:.75rem .9rem}.compare__scores div+div{border-left:1px solid var(--line)}.compare__scores dt{font-size:var(--text-xs);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compare__scores dd{font-family:var(--font-serif);margin:0;font-size:2.25rem;line-height:1.05}.compare__lists{font-size:var(--text-sm);gap:.2rem;margin:0;display:grid}.compare__lists dt{align-items:center;gap:.5rem;margin-top:.6rem;font-weight:700;display:flex}.compare__lists dd{color:var(--ink-2);margin:0;line-height:1.5}.share-image{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--ivory-50);gap:.45rem;padding:.85rem .9rem;display:grid}.share-image__buttons{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.share-image__more{font-size:var(--text-sm);margin-left:.35rem}
