.admin-login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-5);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px));background:var(--surface-sunken)}.admin-login__form{display:flex;flex-direction:column;gap:var(--space-3);width:100%;max-width:22rem;padding:var(--space-5);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-chip-low)}.admin-login__title{margin:0;font-size:var(--text-title);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--text-primary);word-break:keep-all}.admin-login__lede{margin:calc(var(--space-3) * -1) 0 0;font-size:var(--text-body);color:var(--text-secondary);word-break:keep-all}.admin-login__label{margin-top:var(--space-2);font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--text-primary)}.admin-login__input{min-height:44px;padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:var(--surface-inset);color:var(--text-primary);font:inherit;font-size:var(--text-input);letter-spacing:var(--tracking-tight)}.admin-login__input--code{letter-spacing:.3em;font-variant-numeric:tabular-nums}.admin-login__input:disabled{color:var(--text-secondary)}.admin-login__input::placeholder{color:var(--text-secondary)}.admin-login__input:focus{outline:none;background:var(--surface);box-shadow:var(--focus-ring)}.admin-login__submit{min-height:48px;margin-top:var(--space-2);border:0;border-radius:var(--radius-pill);background:var(--brand);color:var(--text-on-fill);font:inherit;font-size:var(--text-base);font-weight:var(--weight-semi);letter-spacing:var(--tracking-tight);cursor:pointer}.admin-login__submit:disabled{background:var(--surface-trough);color:var(--text-secondary);cursor:default}.admin-login__submit:not(:disabled):active{background:var(--brand-pressed)}.admin-login__submit:focus-visible{outline:none;box-shadow:var(--focus-ring)}.admin-login__note{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--text-secondary);word-break:keep-all}.admin-login__error{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--danger);word-break:keep-all}.review-card{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--surface)}.review-card__body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.review-card__name{margin:0;font-size:var(--text-title);font-weight:var(--weight-bold);line-height:1.3;letter-spacing:var(--tracking-tight);color:var(--text-primary);text-wrap:balance;overflow-wrap:anywhere}.review-card__meta{margin:calc(var(--space-3) * -1) 0 0;font-size:var(--text-base);color:var(--text-secondary)}.review-card__addresses{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunken)}.review-card__address-row{display:grid;grid-template-columns:4.5rem 1fr;gap:var(--space-2);align-items:baseline;padding:var(--space-2) var(--space-3);margin:0 calc(var(--space-3) * -1)}.review-card__address-row[data-mismatch=true]{background:var(--surface-trough)}.review-card__badge{display:inline-block;margin-left:var(--space-2);padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface);font-size:var(--text-xs);font-weight:var(--weight-semi);color:var(--text-primary);white-space:nowrap}.review-card__address-label{font-size:var(--text-sm);font-weight:var(--weight-semi);color:var(--text-on-sunken);white-space:nowrap}.review-card__address-value{margin:0;font-size:var(--text-base);color:var(--text-primary);overflow-wrap:anywhere}.review-card__warning{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semi);line-height:1.5;color:var(--text-primary);word-break:keep-all}.review-card__summary{margin:0;font-size:var(--text-body);line-height:1.65;color:var(--text-primary);word-break:keep-all;overflow-wrap:anywhere;white-space:pre-wrap}.review-card__attributes{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0;padding:0;list-style:none}.review-card__attribute{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--surface-inset);font-size:var(--text-sm);color:var(--text-primary);word-break:keep-all;overflow-wrap:anywhere}.review-card__attribute[data-tone=caution],.review-card__attribute[data-tone=negative]{font-weight:var(--weight-semi)}.review-card__attribute[data-span=full]{display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);flex-basis:100%;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3)}.review-card__attribute-label{color:var(--text-secondary);white-space:nowrap}.review-card__count{margin:0;font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums}.review-card__links{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-2)}.review-card__external{min-height:44px;display:inline-flex;align-items:center;color:var(--text-primary);font-size:var(--text-base);font-weight:var(--weight-semi);text-decoration:underline;text-underline-offset:3px}.review-card__actions{flex:none;padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-hairline);background:var(--surface)}.review-card__decisions{display:flex;gap:var(--space-2)}.review-card__reasons{display:flex;flex-direction:column;gap:var(--space-2)}.review-card__reasons:focus{outline:none}.review-card__reason-label{margin:0;font-size:var(--text-sm);color:var(--text-secondary);word-break:keep-all}.review-card__reason-row{display:flex;gap:var(--space-2)}.review-card__reason{flex:1;padding:0 var(--space-2)}.review-card__cancel{width:100%}.review-card__action{min-height:48px;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);font:inherit;font-size:var(--text-base);font-weight:var(--weight-semi);letter-spacing:var(--tracking-tight);color:var(--text-primary);background:var(--surface-trough);cursor:pointer;word-break:keep-all}.review-card__approve{flex:1;background:var(--brand);color:var(--text-on-fill)}.review-card__approve:active{background:var(--brand-pressed)}.review-card__reject,.review-card__reason{color:var(--danger);box-shadow:inset 0 0 0 1.5px var(--danger)}.review-card__cancel{background:transparent;color:var(--text-secondary)}.review-card__action:disabled{cursor:default;opacity:.55}.review-card__approve:disabled{opacity:1;background:var(--brand-pressed)}.review-card__approve{margin-left:var(--space-2)}.review-card__action:focus-visible,.review-card__external:focus-visible{outline:none;box-shadow:var(--focus-ring)}.review-card__reject:focus-visible,.review-card__reason:focus-visible{box-shadow:inset 0 0 0 1.5px var(--danger),var(--focus-ring)}.undo-bar{position:absolute;left:var(--space-3);right:var(--space-3);bottom:calc(84px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--text-primary);color:var(--text-on-fill);box-shadow:var(--shadow-chip)}.undo-bar__label{flex:1;font-size:var(--text-base);word-break:keep-all}.undo-bar__action{flex:none;min-height:40px;padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-on-fill);font:inherit;font-size:var(--text-base);font-weight:var(--weight-bold);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.undo-bar__close{flex:none;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:var(--text-on-fill);cursor:pointer}.undo-bar__action:focus-visible,.undo-bar__close:focus-visible{outline:none;box-shadow:var(--focus-ring)}.review-queue{display:flex;flex-direction:column;flex:1;min-height:0;position:relative;background:var(--surface)}.review-queue__progress{flex:none;margin:0;padding:var(--space-2) var(--space-4) 0;font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums}.review-queue>.review-card{flex:1;min-height:0}.review-queue--empty{align-items:center;justify-content:center;padding:var(--space-5)}.review-queue__empty{margin:0;font-size:var(--text-lg);color:var(--text-secondary);text-align:center;word-break:keep-all}.review-queue__error{flex:none;margin:0;padding:0 var(--space-4) var(--space-2);font-size:var(--text-sm);color:var(--danger);word-break:keep-all}.edit-card__label{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semi);color:var(--text-secondary)}.edit-card__closed{margin:var(--space-3) 0 0;padding:var(--space-3);border-left:3px solid var(--danger);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--surface-sunken);color:var(--text-on-sunken);font-size:var(--text-body);font-weight:var(--weight-semi);word-break:keep-all}.edit-card__confirmed{margin:var(--space-3) 0 0;padding:var(--space-3);border-left:3px solid var(--border-strong);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--surface-sunken);color:var(--text-on-sunken);font-size:var(--text-body);line-height:1.6;word-break:keep-all}.edit-card__note{margin:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-on-sunken);font-size:var(--text-base);line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}.edit-card__row{margin-top:var(--space-3);padding:var(--space-3);border:1px solid var(--border-hairline);border-radius:var(--radius-md)}.edit-card__row[data-dropped]{opacity:.55}.edit-card__key{margin:0 0 var(--space-2);font-size:var(--text-base);font-weight:var(--weight-semi);color:var(--text-primary);word-break:keep-all}.edit-card__change{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-body);line-height:1.5}.edit-card__was{color:var(--text-secondary);word-break:keep-all}.edit-card__arrow{flex:none;color:var(--text-secondary)}.edit-card__will{color:var(--text-primary);font-weight:var(--weight-bold);word-break:keep-all}.edit-card__stale{margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--text-secondary);word-break:keep-all}.edit-card__drop{min-height:36px;margin-top:var(--space-2);padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);background:var(--surface-trough);color:var(--text-primary);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semi);cursor:pointer}.edit-card__drop[aria-pressed=true]{background:var(--text-primary);color:var(--text-on-fill)}.edit-card__drop:focus-visible{outline:none;box-shadow:var(--focus-ring)}.edit-card__summary{margin:var(--space-4) 0 0;font-size:var(--text-base);font-weight:var(--weight-semi);color:var(--text-secondary);word-break:keep-all}.visit-card__label{margin:var(--space-4) 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semi);color:var(--text-secondary)}.visit-card__quote{margin:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-on-sunken);font-size:var(--text-base);line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}.visit-card__text{margin:0;font-size:var(--text-body);line-height:1.65;color:var(--text-primary);word-break:keep-all;overflow-wrap:anywhere;white-space:pre-wrap}.visit-card__photo{position:relative;margin-top:var(--space-3)}.visit-card__photo img{display:block;width:100%;height:auto;border-radius:var(--radius-md);background:var(--surface-sunken)}.visit-card__photo[data-dropped] img{opacity:.35}.visit-card__photo-missing{margin:0;padding:var(--space-5) var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-on-sunken);font-size:var(--text-base);text-align:center}.visit-card__drop{position:absolute;right:var(--space-2);bottom:var(--space-2);min-height:36px;padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);background:#221b26c7;color:var(--text-on-fill);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semi);cursor:pointer}.visit-card__drop[aria-pressed=true]{background:var(--text-primary)}.visit-card__dropped-note{margin:var(--space-3) 0 0;font-size:var(--text-sm);color:var(--text-secondary);word-break:keep-all}.reviewed{flex:1;min-height:0;overflow-y:auto;background:var(--surface);padding:0 var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-4))}.reviewed__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) 0 var(--space-3)}.reviewed__count{margin:0;font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums}.reviewed__back{flex:none;min-height:36px;padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);background:var(--surface-trough);color:var(--text-primary);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semi);cursor:pointer}.reviewed__error{margin:0 0 var(--space-3);font-size:var(--text-base);color:var(--danger);word-break:keep-all}.reviewed__list{list-style:none;margin:0;padding:0}.reviewed__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border-hairline)}.reviewed__what{min-width:0}.reviewed__title{margin:0;font-size:var(--text-body);font-weight:var(--weight-semi);color:var(--text-primary);word-break:keep-all;overflow-wrap:anywhere}.reviewed__meta{margin:var(--space-1) 0 0;font-size:var(--text-sm);color:var(--text-secondary);font-variant-numeric:tabular-nums}.reviewed__actions{flex:none;display:flex;flex-direction:column;gap:var(--space-2);align-items:stretch}.reviewed__retire{min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:transparent;color:var(--text-primary);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semi);cursor:pointer}.reviewed__retire:disabled{opacity:.5;cursor:default}.reviewed__undo{flex:none;min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:transparent;color:var(--text-primary);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semi);cursor:pointer}.reviewed__undo:disabled{opacity:.5;cursor:default}.reviewed__back:focus-visible,.reviewed__retire:focus-visible,.reviewed__undo:focus-visible{outline:none;box-shadow:var(--focus-ring)}.admin-page{position:relative;display:flex;flex-direction:column;height:100dvh;background:var(--surface)}.admin-page__top{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);padding-top:calc(var(--space-2) + env(safe-area-inset-top,0px))}.admin-tabs{display:flex;gap:var(--space-1);padding:3px;border-radius:var(--radius-pill);background:var(--surface-trough)}.admin-tabs__tab{min-height:36px;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-base);font-weight:var(--weight-semi);cursor:pointer}.admin-tabs__tab[aria-selected=true]{background:var(--surface);color:var(--text-primary);font-weight:var(--weight-bold);box-shadow:var(--shadow-chip)}.admin-tabs__tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.admin-page--message{display:flex;align-items:center;justify-content:center;padding:var(--space-5);background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--text-body);text-align:center;word-break:keep-all}.admin-page__message{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin:0;padding:var(--space-6) var(--space-5);color:var(--text-secondary);font-size:var(--text-body);text-align:center;word-break:keep-all}.admin-page__message p{margin:0}.admin-page__retry{min-height:44px;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--surface-trough);color:var(--text-primary);font:inherit;font-size:var(--text-base);font-weight:var(--weight-semi);cursor:pointer}.admin-page__leave,.admin-page__reviewed{flex:none;min-height:36px;padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer}.admin-page__retry:focus-visible,.admin-page__reviewed:focus-visible,.admin-page__leave:focus-visible{outline:none;box-shadow:var(--focus-ring)}.admin-page__debug{flex:none;margin:0 var(--space-3) var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-inset);font-size:var(--text-xs);line-height:1.4;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;max-height:40dvh;overflow-y:auto}.privacy{max-width:34rem;margin:0 auto;padding:var(--space-5) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-6));padding-top:calc(env(safe-area-inset-top,0px) + var(--space-5));background:var(--surface);color:var(--text-primary);font-size:var(--text-body);line-height:1.75;word-break:keep-all}.privacy__back{margin:0 0 var(--space-4);font-size:var(--text-base)}.privacy__back--bottom{margin:var(--space-6) 0 0;padding-top:var(--space-4);border-top:1px solid var(--border-hairline)}.privacy__title{margin:0 0 var(--space-1);font-size:var(--text-title);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight)}.privacy__updated{margin:0 0 var(--space-5);color:var(--text-secondary);font-size:var(--text-base)}.privacy__lead{margin:0 0 var(--space-6);padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-on-sunken)}.privacy h2{margin:var(--space-6) 0 var(--space-3);font-size:var(--text-lg);font-weight:var(--weight-semi);letter-spacing:var(--tracking-tight)}.privacy p,.privacy__list{margin:0 0 var(--space-3)}.privacy__list dt{margin-top:var(--space-4);font-weight:var(--weight-semi)}.privacy__list dd{margin:var(--space-1) 0 0;color:var(--text-secondary)}.privacy__bullets{margin:0 0 var(--space-3);padding-left:var(--space-5);color:var(--text-secondary)}.privacy__bullets li{margin-bottom:var(--space-2)}.privacy__table{width:100%;margin:0 0 var(--space-3);border-collapse:collapse;font-size:var(--text-base)}.privacy__table th,.privacy__table td{padding:var(--space-2) var(--space-2) var(--space-2) 0;border-bottom:1px solid var(--border-hairline);text-align:left;vertical-align:top}.privacy__table th{color:var(--text-secondary);font-weight:var(--weight-medium)}.privacy__note{padding:var(--space-3) var(--space-4);border-left:3px solid var(--border-divider);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--surface-sunken);color:var(--text-on-sunken)}.privacy a{color:var(--brand);text-underline-offset:3px}.category-filter{position:absolute;left:0;right:0;bottom:calc(env(safe-area-inset-bottom,0px) + var(--map-credit-gap));z-index:1}.category-filter__list{display:flex;gap:var(--space-2);margin:0;padding:var(--space-3) var(--space-4);list-style:none;overflow-x:auto;scrollbar-width:none;--fade: var(--space-4);-webkit-mask-image:linear-gradient(to right,transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent);mask-image:linear-gradient(to right,transparent,#000 var(--fade),#000 calc(100% - var(--fade)),transparent)}.category-filter__list::-webkit-scrollbar{display:none}.category-filter__chip{position:relative;display:flex;align-items:center;gap:var(--space-2);min-height:var(--filter-chip-h);padding:0 var(--space-4) 0 var(--space-2);border:0;border-radius:var(--radius-pill);background:var(--surface);color:var(--text-primary);font:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);white-space:nowrap;box-shadow:inset 0 0 0 1.5px transparent,var(--shadow-chip);cursor:pointer;transition:background var(--dur-tap) var(--ease-out),color var(--dur-tap) var(--ease-out),box-shadow var(--dur-tap) var(--ease-out),transform var(--dur-tap) var(--ease-out)}.category-filter__chip:active{transition-duration:0s;transform:scale(var(--press-scale))}@media(prefers-reduced-motion:reduce){.category-filter__chip:active{transform:none}}.category-filter__chip:before{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}.category-filter__chip--all{padding-left:var(--space-4);--chip-tint: var(--surface-inset);--chip-ink: var(--text-primary)}.category-filter__chip[aria-pressed=true]{background:var(--chip-tint);color:var(--chip-ink);font-weight:var(--weight-semi);box-shadow:inset 0 0 0 1.5px var(--chip-ink),var(--shadow-chip)}.category-filter__chip:focus-visible{box-shadow:var(--focus-ring),var(--shadow-chip)}.category-filter__chip[aria-pressed=true]:focus-visible{box-shadow:inset 0 0 0 1.5px var(--chip-ink),var(--focus-ring),var(--shadow-chip)}.category-icon__disc{fill:var(--chip-tint);stroke:var(--chip-ink)}.category-icon__glyph{fill:var(--chip-ink)}.map-view{position:relative;width:100%;height:100%}.map-view__canvas{width:100%;height:100%}.map-view--message{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.map-view__detail{margin:0;font-size:.875rem;opacity:.7;overflow-wrap:anywhere}.map-view__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;margin:0;animation:map-view-appear .2s ease .4s both}@keyframes map-view-appear{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.map-view__loading{animation-duration:0s}}.attribute-groups{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-4)}.attribute-group{padding-top:var(--space-4);border-top:1px solid var(--border-divider)}.attribute-group__title{margin:0 0 var(--space-2);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:var(--tracking-tight)}.attribute-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);margin:0}.attribute-grid__cell{min-width:0}.attribute-grid__cell--full{grid-column:1 / -1}.attribute-grid__label{margin:0;font-size:var(--text-sm);color:var(--text-secondary);word-break:keep-all;overflow-wrap:anywhere}.attribute-grid__value{margin:var(--space-1) 0 0;font-size:var(--text-body);font-weight:var(--weight-semi);color:var(--text-primary);word-break:keep-all;overflow-wrap:anywhere}.attribute-grid__value[data-unknown]{color:var(--text-secondary);font-weight:var(--weight-regular)}.place-link{display:block;border-radius:var(--radius-md);background:var(--surface-sunken);overflow:hidden;text-decoration:none;color:inherit}.place-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.place-link__frame{position:relative;aspect-ratio:4 / 5;background:var(--surface-inset)}.place-link__thumb{display:block;width:100%;height:100%;object-fit:cover}.place-link__play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-pill);background:#221b268c;color:#fff;font-size:20px;padding-left:4px}.place-link__body{display:flex;flex-direction:column;gap:2px;padding:var(--space-3)}.place-link__kind{font-size:var(--text-xs);font-weight:var(--weight-semi);color:var(--text-on-sunken)}.place-link__title{font-size:var(--text-body);color:var(--text-primary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.place-links{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-5)}.place-links--many{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.place-links--many::-webkit-scrollbar{display:none}.place-links--many>.place-link{flex:0 0 76%;scroll-snap-align:start}.place-link--bare{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)}.place-link--bare .place-link__body{padding:0;min-width:0}.place-link__mark{flex:none;color:var(--text-secondary);font-size:20px;line-height:1}.place-link__blank{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--text-secondary);font-size:28px;line-height:1}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;background:#120e14f0;overscroll-behavior:contain;padding:calc(env(safe-area-inset-top,0px) + var(--space-3)) var(--space-3) calc(env(safe-area-inset-bottom,0px) + var(--space-3))}.lightbox__close{flex:none;align-self:flex-end;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:#ffffff29;color:#fff;cursor:pointer}.lightbox__stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;touch-action:none}.lightbox__image{max-width:100%;max-height:100%;object-fit:contain}.lightbox__nav{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3)}.lightbox__step{min-height:44px;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:#ffffff29;color:#fff;font:inherit;font-size:var(--text-base);font-weight:var(--weight-semi);cursor:pointer}.lightbox__step:disabled{opacity:.35;cursor:default}.lightbox__count{margin:0;color:#fff;font-size:var(--text-base);font-variant-numeric:tabular-nums}.lightbox__close:focus-visible,.lightbox__step:focus-visible{outline:none;box-shadow:var(--focus-ring)}.reviews{margin-top:var(--space-4)}.reviews__list{display:flex;flex-direction:column;gap:var(--space-5);margin:0;padding:0;list-style:none}.reviews__date{display:block;margin-bottom:var(--space-1);font-size:var(--text-sm);line-height:1.4;font-weight:var(--weight-medium);color:var(--text-secondary);font-variant-numeric:tabular-nums}.reviews__body{margin:0;font-size:var(--text-body);line-height:1.7;color:var(--text-primary);word-break:keep-all;overflow-wrap:anywhere;white-space:pre-wrap}.reviews__photos{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.reviews__photos--many{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.reviews__photos--many::-webkit-scrollbar{display:none}.reviews__photo-open{display:block;flex:none;padding:0;border:0;background:var(--surface-trough);line-height:0;border-radius:var(--radius-md);cursor:pointer}.reviews__photo-open:focus-visible{outline:none;box-shadow:var(--focus-ring)}.reviews__photo{display:block;flex:none;height:180px;width:auto;max-width:100%;object-fit:contain;object-position:left center;border-radius:var(--radius-md);scroll-snap-align:start;opacity:0;transition:opacity var(--dur-panel) var(--ease-out)}.reviews__photo[data-loaded]{opacity:1}.reviews__write{width:100%;min-height:48px;margin-top:var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);font:inherit;font-size:var(--text-lg);font-weight:var(--weight-semi);color:var(--text-primary);cursor:pointer}.reviews--failed{padding:var(--space-5) 0;text-align:center}.reviews__failed-text{margin:0;font-size:var(--text-base);color:var(--text-secondary);word-break:keep-all}.reviews__retry{min-height:44px;margin-top:var(--space-2);padding:0;border:0;background:none;font:inherit;font-size:var(--text-base);font-weight:var(--weight-semi);color:var(--text-primary);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.reviews__empty{padding:var(--space-6) var(--space-2) var(--space-5);text-align:center}.reviews__empty-lead{margin:0;font-size:var(--text-lg);font-weight:var(--weight-bold)}.reviews__empty-body{max-width:280px;margin:var(--space-2) auto 0;font-size:var(--text-base);line-height:1.75;color:var(--text-secondary);word-break:keep-all;overflow-wrap:anywhere}.reviews__empty-cta{min-height:48px;margin-top:var(--space-5);padding:0 var(--space-6);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);font:inherit;font-size:var(--text-lg);font-weight:var(--weight-semi);color:var(--text-primary);cursor:pointer}.reviews--loading{display:flex;flex-direction:column;align-items:flex-start}.reviews--loading>*{border-radius:var(--radius-md);background:var(--surface-trough)}.reviews__skeleton-date{width:72px;height:13px;margin-bottom:var(--space-3)}.reviews__skeleton-line{width:100%;height:15px;margin-bottom:10px}.reviews__skeleton-line--short{width:62%}.reviews__skeleton-photo{width:240px;height:180px;margin-top:var(--space-2)}.place-sheet{position:absolute;left:0;right:0;bottom:0;z-index:2;max-height:70%;overflow-y:auto;overscroll-behavior:contain;padding:var(--space-3) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-4));border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--surface);box-shadow:var(--shadow-sheet);transition:transform var(--dur-panel) var(--ease-out)}.place-sheet--entering{transform:translateY(100%)}.place-sheet--closing{transform:translateY(100%);transition-timing-function:var(--ease-in);pointer-events:none}@media(prefers-reduced-motion:reduce){.place-sheet{transition:opacity var(--dur-panel) var(--ease-out)}.place-sheet--entering,.place-sheet--closing{transform:none;opacity:0}}.place-sheet__grabber{width:36px;height:4px;margin:0 auto var(--space-3);border-radius:var(--radius-pill);background:var(--surface-trough)}.place-sheet__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.place-sheet__heading{min-width:0}.place-sheet__name{margin:0;font-size:var(--text-title);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:1.3;text-wrap:balance;overflow-wrap:anywhere}.place-sheet__meta{display:inline-flex;align-items:center;margin:var(--space-2) 0 0;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--chip-tint, var(--surface-inset));color:var(--chip-ink, var(--text-primary));font-size:var(--text-sm);font-weight:var(--weight-semi)}.place-sheet__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:var(--surface-inset);color:var(--text-primary);cursor:pointer}.place-sheet__tabs{display:flex;gap:var(--space-5);margin-top:var(--space-3);border-bottom:1px solid var(--border-divider)}.place-sheet__tab{position:relative;min-height:40px;padding:0 0 var(--space-2);border:0;background:none;font:inherit;font-size:var(--text-lg);font-weight:var(--weight-semi);color:var(--text-secondary);white-space:nowrap;cursor:pointer}.place-sheet__tab[aria-selected=true]{color:var(--text-primary)}.place-sheet__tab[aria-selected=true]:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:2px;background:var(--text-primary)}.place-sheet__panel:focus{outline:none}.place-sheet__panel{touch-action:pan-y}@keyframes place-sheet-panel-in{0%{transform:translate(10px)}}.place-sheet__panel{animation:place-sheet-panel-in var(--dur-tap) var(--ease-out)}@media(prefers-reduced-motion:reduce){.place-sheet__panel{animation:none}}.place-sheet__summary{margin:var(--space-4) 0 0;font-size:var(--text-body);line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}.place-sheet__address{margin:var(--space-4) 0 0;font-size:var(--text-base);color:var(--text-secondary);overflow-wrap:anywhere}.place-sheet__checked{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--text-secondary);word-break:keep-all}.place-sheet__checked[data-stale]{color:var(--text-primary);font-weight:var(--weight-semi)}.place-sheet__stale{font-weight:var(--weight-bold)}.place-sheet__corrections{display:flex;flex-direction:column;align-items:flex-start}.place-sheet__correct{display:block;min-height:44px;margin-top:var(--space-2);padding:0;border:0;background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-base);text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.place-sheet__correct:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.place-sheet__actions{position:sticky;bottom:calc(env(safe-area-inset-bottom,0px) * -1 - var(--space-4));display:flex;gap:var(--space-2);margin-top:var(--space-5);padding:var(--space-3) 0 calc(env(safe-area-inset-bottom,0px) + var(--space-3));background:linear-gradient(to bottom,rgb(255 255 255 / 0%) 0,var(--surface) 12px)}.place-sheet__action{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--weight-semi);text-align:center;text-decoration:none}.place-sheet__action--primary{border-color:var(--brand);background:var(--brand);color:var(--text-on-fill)}.place-sheet__action--primary:active{background:var(--brand-pressed);border-color:var(--brand-pressed)}.place-sheet--dragging{transition:none}.place-sheet__grabber,.place-sheet__header,.place-sheet__tabs,.place-sheet__actions{touch-action:none}.review-form{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;background:var(--surface);padding-top:env(safe-area-inset-top,0px)}.review-form__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-hairline)}.review-form__cancel{flex:none;width:32px;height:32px;border:0;border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-on-sunken);cursor:pointer}.review-form__title{margin:0;font-size:var(--text-body);font-weight:var(--weight-bold);word-break:break-word}.review-form__body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4)}.review-form__label{display:block;margin-bottom:var(--space-2);font-size:var(--text-body);font-weight:var(--weight-semi);word-break:keep-all}.review-form__field{width:100%;min-height:140px;padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font:inherit;font-size:var(--text-input);line-height:1.7;resize:vertical}.review-form__field::placeholder{color:var(--text-secondary)}.review-form__field[aria-invalid=true]{border-color:var(--danger)}.review-form__count{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums}.review-form__error{margin:var(--space-3) 0 0;color:var(--danger);font-size:var(--text-base);line-height:1.6;word-break:keep-all}.review-form__detail{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-secondary);overflow-wrap:anywhere}.review-form__footer{padding:var(--space-3) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-4));border-top:1px solid var(--border-hairline);background:var(--surface)}.review-form__note{margin:0 0 var(--space-3);font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary);word-break:keep-all}.review-form__legal{color:inherit;text-decoration:underline;text-underline-offset:2px}.review-form__send{width:100%;min-height:52px;border:0;border-radius:var(--radius-md);background:var(--brand);color:var(--text-on-fill);font:inherit;font-size:var(--text-lg);font-weight:var(--weight-semi);cursor:pointer}.review-form__send:active{background:var(--brand-pressed)}.review-form__send:disabled{background:var(--surface-trough);color:var(--text-secondary);cursor:default}.review-form__photos{margin-top:var(--space-4)}.review-form__thumbs{display:flex;gap:var(--space-2);margin:0 0 var(--space-3);padding:0;list-style:none}.review-form__thumb{position:relative;flex:none}.review-form__thumb img{display:block;height:96px;width:auto;max-width:160px;object-fit:contain;border-radius:var(--radius-md);background:var(--surface-sunken)}.review-form__drop{position:absolute;top:var(--space-1);right:var(--space-1);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-pill);background:#221b26c7;color:var(--text-on-fill);cursor:pointer}.review-form__add{display:inline-flex;align-items:center;min-height:44px;padding:0 var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-pill);font-size:var(--text-base);font-weight:var(--weight-semi);color:var(--text-primary);cursor:pointer}.review-form__add[aria-disabled=true]{color:var(--text-secondary);cursor:default}.review-form__photos input:focus-visible+.review-form__thumbs+.review-form__add,.review-form__photos input:focus-visible+.review-form__add{box-shadow:var(--focus-ring)}.review-form__hint{margin:var(--space-2) 0 0;font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary);word-break:keep-all}.review-form__hint--warn{color:var(--text-primary);font-weight:var(--weight-semi)}.edit-form{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;background:var(--surface);padding-top:env(safe-area-inset-top,0px)}.edit-form__header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-hairline)}.edit-form__cancel{flex:none;width:32px;height:32px;border:0;border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-on-sunken);cursor:pointer}.edit-form__title{margin:0;font-size:var(--text-body);font-weight:var(--weight-bold);word-break:break-word}.edit-form__body{flex:1;min-height:0;overflow-y:auto;padding:var(--space-4)}.edit-form__section{margin-bottom:var(--space-5)}.edit-form__label{margin:0 0 var(--space-2);font-size:var(--text-body);font-weight:var(--weight-semi);word-break:keep-all}.edit-form__guide{margin:0 0 var(--space-2);color:var(--text-secondary);font-size:var(--text-body);line-height:1.6;word-break:keep-all}.edit-form__pin-open,.edit-form__pin-cancel{min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid var(--border-divider);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-primary);font-size:var(--text-body);font-family:inherit;cursor:pointer;transition:transform var(--dur-tap) var(--ease-out)}.edit-form__pin-open:active,.edit-form__pin-cancel:active{transform:scale(var(--press-scale))}.edit-form__map{position:relative;height:34vh;min-height:200px;margin-bottom:var(--space-3);border-radius:var(--radius-md);overflow:hidden;background:var(--surface-inset)}.edit-form__pin-cancel{color:var(--text-secondary)}@media(prefers-reduced-motion:reduce){.edit-form__pin-open,.edit-form__pin-cancel{transition:none}.edit-form__pin-open:active,.edit-form__pin-cancel:active{transform:none}}.edit-form__error{margin:var(--space-4) 0 0;color:var(--danger);font-size:var(--text-base);line-height:1.6;word-break:keep-all}.edit-form__detail{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-secondary);overflow-wrap:anywhere}.edit-form__footer{padding:var(--space-3) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-4));border-top:1px solid var(--border-hairline);background:var(--surface)}.edit-form__warn{margin:0 0 var(--space-5);padding:var(--space-3);border-left:3px solid var(--danger);border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--surface-sunken);color:var(--text-on-sunken);font-size:var(--text-body);line-height:1.6;word-break:keep-all}.edit-form__field{display:block;width:100%;padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font:inherit;font-size:var(--text-input);line-height:1.6;resize:none}.edit-form__field:focus-visible{outline:none;border-color:var(--brand);box-shadow:var(--focus-ring)}.edit-form__count{margin:var(--space-2) 0 0;font-size:var(--text-sm);color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums}.edit-form__note{margin:0 0 var(--space-3);font-size:var(--text-sm);line-height:1.6;color:var(--text-secondary);word-break:keep-all}.edit-form__send{width:100%;min-height:52px;border:0;border-radius:var(--radius-md);background:var(--brand);color:var(--text-on-fill);font:inherit;font-size:var(--text-lg);font-weight:var(--weight-semi);cursor:pointer}.edit-form__send:active{background:var(--brand-pressed)}.edit-form__send:disabled{background:var(--surface-trough);color:var(--text-secondary);cursor:default}.edit-form__cancel:focus-visible,.edit-form__send:focus-visible{outline:none;box-shadow:var(--focus-ring)}.edit-form__optional{font-weight:var(--weight-regular);color:var(--text-secondary)}.edit-form__input{width:100%;min-height:48px;margin-top:var(--space-2);padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:var(--surface-sunken);color:var(--text-primary);font:inherit;font-size:var(--text-input)}.edit-form__input:focus-visible{outline:none;box-shadow:var(--focus-ring)}.bool-field{display:flex;flex-direction:column;gap:var(--space-2)}.bool-field__label{font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--text-primary);word-break:keep-all}.bool-field__choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-md);background:var(--surface-inset)}.bool-field__choice{min-height:48px;padding:0 var(--space-2);border:0;border-radius:calc(var(--radius-md) - var(--space-1));background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);word-break:keep-all;overflow-wrap:anywhere;line-height:1.3;cursor:pointer}.bool-field__choice[aria-checked=true]{background:var(--surface);color:var(--text-primary);font-weight:var(--weight-semi);box-shadow:var(--shadow-chip)}.bool-field__choice:focus-visible,.bool-field__choice[aria-checked=true]:focus-visible{box-shadow:var(--focus-ring),var(--shadow-chip)}.bool-field__choice[data-choice=unknown][aria-checked=true]{background:var(--surface);color:var(--text-secondary);font-weight:var(--weight-medium);box-shadow:var(--shadow-chip-low)}.choice-field{display:flex;flex-direction:column;gap:var(--space-2)}.choice-field__label{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2);font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--text-primary);word-break:keep-all}.choice-field__hint{font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--text-secondary)}.choice-field__option{border:0;background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);word-break:keep-all;overflow-wrap:anywhere;cursor:pointer}.choice-field__option[aria-checked=true],.choice-field__option[aria-pressed=true]{background:var(--surface);color:var(--text-primary);font-weight:var(--weight-semi);box-shadow:var(--shadow-chip)}.choice-field__option:focus-visible,.choice-field__option[aria-checked=true]:focus-visible,.choice-field__option[aria-pressed=true]:focus-visible{box-shadow:var(--focus-ring),var(--shadow-chip)}.choice-field--single .choice-field__options{display:flex;flex-direction:column;gap:0;padding:var(--space-1);border-radius:var(--radius-md);background:var(--surface-inset)}.choice-field--single .choice-field__option{min-height:44px;padding:0 var(--space-3);border-radius:calc(var(--radius-md) - var(--space-1));text-align:left}.choice-field__option--unknown[aria-checked=true]{background:var(--surface);color:var(--text-secondary);font-weight:var(--weight-medium);box-shadow:var(--shadow-chip-low)}.choice-field--multi .choice-field__options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.choice-field--multi .choice-field__option{min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--surface-trough)}.typed-field{display:flex;flex-direction:column;gap:var(--space-2)}.typed-field__label{font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--text-primary);word-break:keep-all;overflow-wrap:anywhere}.typed-field__row{display:flex;align-items:center;gap:var(--space-3)}.typed-field__input{flex:1;min-height:44px;padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:var(--surface-inset);color:var(--text-primary);font:inherit;font-size:var(--text-input);letter-spacing:var(--tracking-tight)}.typed-field__input:focus{outline:none;background:var(--surface);box-shadow:var(--focus-ring)}.typed-field__unit{flex:none;font-size:var(--text-body);color:var(--text-secondary)}.typed-field__hint{margin:0;font-size:var(--text-sm);color:var(--text-secondary);word-break:keep-all}.typed-field__count{margin:0;font-size:var(--text-sm);color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums}.attr-step{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.attr-step__title{margin:0;font-size:var(--text-title);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--text-primary);word-break:keep-all}.attr-step__guide{margin:calc(var(--space-4) * -1 + var(--space-2)) 0 0;font-size:var(--text-body);line-height:1.5;color:var(--text-secondary);word-break:keep-all}.attr-step__guide b{font-weight:var(--weight-semi);color:var(--text-primary)}.attr-step__list{display:flex;flex-direction:column;gap:var(--space-5);margin:0;padding:0;list-style:none}.attr-step__more{align-self:flex-start;min-height:44px;padding:0 var(--space-3) 0 0;border:0;background:none;color:var(--brand);font:inherit;font-size:var(--text-body);font-weight:var(--weight-semi);letter-spacing:var(--tracking-tight);text-align:left;word-break:keep-all;cursor:pointer}.category-choice{display:flex;flex-direction:column;gap:var(--space-2)}.category-choice__label{font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--text-primary);word-break:keep-all}.category-choice__options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.category-choice__chip{display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4) var(--space-2) var(--space-2);max-width:100%;overflow-wrap:anywhere;text-align:left;border:0;border-radius:var(--radius-pill);background:var(--surface-trough);color:var(--text-primary);font:inherit;font-size:var(--text-base);font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);word-break:keep-all;cursor:pointer}.category-choice__chip[aria-checked=true]{background:var(--chip-tint);color:var(--chip-ink);font-weight:var(--weight-semi);box-shadow:inset 0 0 0 1.5px var(--chip-ink),var(--shadow-chip)}.category-choice__chip:focus-visible{box-shadow:var(--focus-ring),var(--shadow-chip)}.category-choice__chip[aria-checked=true]:focus-visible{box-shadow:inset 0 0 0 1.5px var(--chip-ink),var(--focus-ring),var(--shadow-chip)}.category-choice .category-icon__disc{fill:var(--chip-tint);stroke:var(--chip-ink)}.category-choice .category-icon__glyph{fill:var(--chip-ink)}.category-choice__error{margin:0;font-size:var(--text-sm);color:var(--danger);word-break:keep-all}.pin-picker{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.pin-picker__pin{transform:translateY(-21px);filter:drop-shadow(0 3px 6px rgb(var(--shadow-pin-rgb) / 35%))}.pin-picker__body{fill:var(--brand);stroke:var(--surface)}.pin-picker--waiting .pin-picker__body{fill:var(--surface-trough);stroke:var(--text-secondary)}.pin-picker--waiting .pin-picker__eye{fill:var(--text-secondary)}.pin-picker--waiting .pin-picker__pin{filter:none}.pin-picker--waiting .pin-picker__contact{fill:rgb(var(--shadow-pin-rgb) / 12%)}.pin-picker__eye{fill:var(--surface)}.pin-picker__contact{fill:rgb(var(--shadow-pin-rgb) / 25%)}.submit-button{position:absolute;right:var(--space-4);bottom:calc(env(safe-area-inset-bottom,0px) + var(--map-credit-gap) + var(--filter-bar-h) + var(--space-3));z-index:1;display:flex;align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-5) 0 var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--brand);color:var(--text-on-fill);font:inherit;font-size:var(--text-base);font-weight:var(--weight-semi);letter-spacing:var(--tracking-tight);white-space:nowrap;box-shadow:0 2px 6px #221b2633,0 8px 20px #221b2638;cursor:pointer;transition:background var(--dur-tap) var(--ease-out),transform var(--dur-tap) var(--ease-out)}.submit-button:active{transition-duration:0s;background:var(--brand-pressed);transform:scale(var(--press-scale))}@media(prefers-reduced-motion:reduce){.submit-button{transition:background var(--dur-tap) var(--ease-out)}.submit-button:active{transform:none}}.basics-step{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-4)}.basics-step__title{margin:0;font-size:var(--text-title);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--text-primary);word-break:keep-all}.basics-step__field{display:flex;flex-direction:column;gap:var(--space-2)}.basics-step__label{font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--text-primary);word-break:keep-all}.basics-step__hint{margin:calc(var(--space-2) * -1) 0 0;font-size:var(--text-sm);line-height:1.5;color:var(--text-secondary);word-break:keep-all}.basics-step__input{min-height:44px;padding:var(--space-3);border:0;border-radius:var(--radius-md);background:var(--surface-inset);color:var(--text-primary);font:inherit;font-size:var(--text-input);letter-spacing:var(--tracking-tight)}.basics-step__input--long{line-height:1.5;resize:none}.basics-step__input::placeholder{color:var(--text-secondary)}.basics-step__input:focus{outline:none;background:var(--surface);box-shadow:var(--focus-ring)}.basics-step__input[aria-invalid=true]{box-shadow:inset 0 0 0 1.5px var(--danger)}.basics-step__input[aria-invalid=true]:focus{box-shadow:inset 0 0 0 1.5px var(--danger),var(--focus-ring)}.basics-step__count{margin:0;font-size:var(--text-sm);color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums}.basics-step__error{margin:0;font-size:var(--text-sm);color:var(--danger);word-break:keep-all}.basics-step__optional{font-weight:var(--weight-regular);color:var(--text-secondary)}.location-step{display:flex;flex-direction:column;gap:var(--space-3)}.location-step__title{margin:0;font-size:var(--text-title);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--text-primary);word-break:keep-all}.location-step__map{position:relative;height:46vh;min-height:240px;border-radius:var(--radius-md);overflow:hidden;background:var(--surface-inset)}.location-step__fallback{display:flex;align-items:center;height:100%;margin:0;padding:var(--space-5);font-size:var(--text-body);line-height:1.5;color:var(--text-secondary);text-align:center;word-break:keep-all}.location-step__guide{margin:0;font-size:var(--text-body);color:var(--text-secondary);word-break:keep-all}.location-step__search{margin-bottom:var(--space-4)}.location-step__find{width:100%}.location-step__actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.location-step__find,.location-step__locate{min-height:44px;padding:0 var(--space-4);border:0;border-radius:var(--radius-pill);background:var(--surface-trough);color:var(--text-primary);font:inherit;font-size:var(--text-base);font-weight:var(--weight-semi);letter-spacing:var(--tracking-tight);cursor:pointer}.location-step__find:disabled,.location-step__locate:disabled{color:var(--text-secondary);cursor:default}.location-step__nearby{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunken)}.location-step__nearby-title{margin:0;font-size:var(--text-base);font-weight:var(--weight-semi);color:var(--text-on-sunken);word-break:keep-all}.location-step__nearby-list{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.location-step__nearby-item{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--text-base);color:var(--text-primary)}.location-step__nearby-name{font-weight:var(--weight-semi);word-break:keep-all;overflow-wrap:anywhere}.location-step__nearby-distance{flex:none;font-size:var(--text-sm);color:var(--text-on-sunken);font-variant-numeric:tabular-nums}.location-step__nearby-hint{margin:0;font-size:var(--text-sm);color:var(--text-on-sunken);word-break:keep-all}.location-step__field{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2)}.location-step__label{font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--text-primary);word-break:keep-all}.location-step__hint{margin:calc(var(--space-2) * -1) 0 0;font-size:var(--text-sm);color:var(--text-secondary);word-break:keep-all}.location-step__input{min-height:44px;padding:0 var(--space-3);border:0;border-radius:var(--radius-md);background:var(--surface-inset);color:var(--text-primary);font:inherit;font-size:var(--text-input);letter-spacing:var(--tracking-tight)}.location-step__input::placeholder{color:var(--text-secondary)}.location-step__input:focus{outline:none;background:var(--surface);box-shadow:var(--focus-ring)}.location-step__input[aria-invalid=true]{box-shadow:inset 0 0 0 1.5px var(--danger)}.location-step__input[aria-invalid=true]:focus{box-shadow:inset 0 0 0 1.5px var(--danger),var(--focus-ring)}.location-step__error{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--danger);word-break:keep-all}.location-step__error-detail{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-secondary);overflow-wrap:anywhere}.location-step__found{display:flex;flex-direction:column;gap:var(--space-1);margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunken);word-break:keep-all}.location-step__found-label{font-size:var(--text-xs);font-weight:var(--weight-semi);color:var(--text-secondary)}.location-step__found-name{font-size:var(--text-base);color:var(--text-primary);overflow-wrap:anywhere}.review-step{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.review-step__title{margin:0;font-size:var(--text-title);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--text-primary);word-break:keep-all}.review-step__guide{margin:calc(var(--space-4) * -1 + var(--space-2)) 0 0;font-size:var(--text-body);color:var(--text-secondary);word-break:keep-all}.review-step__row{padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-sunken)}.review-step__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.review-step__label{margin:0;font-size:var(--text-sm);font-weight:var(--weight-semi);color:var(--text-on-sunken);word-break:keep-all}.review-step__edit{flex:none;position:relative;padding:0;border:0;background:none;color:var(--brand);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semi);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.review-step__edit:before{content:"";position:absolute;top:-14px;right:-8px;bottom:-14px;left:-8px}.review-step__value{margin-top:var(--space-2);font-size:var(--text-body);line-height:1.5;color:var(--text-primary);word-break:keep-all;overflow-wrap:anywhere}.review-step__name{font-size:var(--text-lg);font-weight:var(--weight-bold)}.review-step__category{margin-left:var(--space-2);font-size:var(--text-base);color:var(--text-on-sunken)}.review-step__summary,.review-step__address,.review-step__source,.review-step__missing{margin:0}.review-step__source{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--text-on-sunken);word-break:keep-all}.review-step__missing{color:var(--text-on-sunken)}.review-step__answers{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.review-step__answers li{display:flex;gap:var(--space-3)}.review-step__answer-label{flex:none;min-width:6.5em;color:var(--text-on-sunken)}.review-step__answer-value{font-weight:var(--weight-medium)}.review-step__link{margin:0;font-size:var(--text-base);color:var(--text-secondary);overflow-wrap:anywhere}.feedback-link{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-3) 0;margin-bottom:calc(-1 * var(--space-2));color:var(--brand);font-size:var(--text-base);line-height:1.4;text-decoration:underline;text-underline-offset:3px;word-break:keep-all}.feedback-link:active{color:var(--brand-pressed)}.feedback-link__arrow{font-weight:400;font-size:.9em}.submit-flow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;background:var(--surface);padding-top:env(safe-area-inset-top,0px)}.submit-flow__body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.submit-flow__footer{padding:var(--space-3) var(--space-4) calc(env(safe-area-inset-bottom,0px) + var(--space-3));background:var(--surface);box-shadow:0 -1px 0 var(--border-hairline),0 -6px 16px #221b260f}.submit-flow__actions{display:flex;gap:var(--space-2)}.submit-flow__back,.submit-flow__next{min-height:48px;border:0;border-radius:var(--radius-pill);font:inherit;font-size:var(--text-lg);font-weight:var(--weight-semi);letter-spacing:var(--tracking-tight);word-break:keep-all;cursor:pointer}.submit-flow__back{flex:none;min-width:96px;padding:0 var(--space-4);background:var(--surface-trough);color:var(--text-primary)}.submit-flow__next{flex:1;background:var(--brand);color:var(--text-on-fill)}.submit-flow__next:active{background:var(--brand-pressed)}.submit-flow__back:disabled,.submit-flow__next:disabled{cursor:default;opacity:.75}.submit-flow__done{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6) var(--space-5) calc(env(safe-area-inset-bottom,0px) + var(--space-6));text-align:center}.submit-flow__done-title{margin:0;font-size:var(--text-title);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--text-primary);word-break:keep-all}.submit-flow__done-name{margin:0;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--surface-inset);font-size:var(--text-body);font-weight:var(--weight-semi);color:var(--text-primary);overflow-wrap:anywhere}.submit-flow__done-note{margin:0 0 var(--space-4);font-size:var(--text-body);line-height:1.6;color:var(--text-secondary);word-break:keep-all}.submit-flow__done .submit-flow__next,.submit-flow__done .submit-flow__back{flex:none;align-self:stretch}.submit-flow__error{margin:0;padding:0 var(--space-4) var(--space-2);font-size:var(--text-sm);color:var(--danger);word-break:keep-all}.submit-flow__error-detail{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-secondary);overflow-wrap:anywhere}.submit-flow__note{margin:0 0 var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);text-align:center;word-break:keep-all}.submit-flow__legal{color:inherit;text-decoration:underline;text-underline-offset:2px}.submit-flow__progress{margin:0;padding:var(--space-3) var(--space-4) 0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);font-variant-numeric:tabular-nums}:root{--surface: #fff;--surface-sunken: #f5f2f7;--surface-inset: #f0edf3;--surface-map: #f8f8f8;--surface-trough: #e2dbe9;--text-primary: #221b26;--text-secondary: #5f5566;--text-on-sunken: #4a4252;--text-on-fill: #fff;--border-hairline: #e7e1ec;--border-divider: #cfc7d6;--border-strong: #786f82;--brand: #d62b6e;--brand-pressed: #b01f58;--danger: #a4262c;--category-restaurant-tint: #ffddd2;--category-restaurant-tint-hi: #ffede7;--category-restaurant-solid: #ef5130;--category-restaurant-ink: #8e2b12;--category-cafe-tint: #fff0c7;--category-cafe-tint-hi: #fff8e2;--category-cafe-solid: #d97706;--category-cafe-ink: #7a4708;--category-museum-tint: #ddd5fb;--category-museum-tint-hi: #ede9fd;--category-museum-solid: #7b5cf0;--category-museum-ink: #422c97;--category-class-tint: #c6efe3;--category-class-tint-hi: #e0f7f1;--category-class-solid: #12a594;--category-class-ink: #0a5b4f;--category-park-tint: #d8efc9;--category-park-tint-hi: #ebf7e3;--category-park-solid: #4b9e2f;--category-park-ink: #2b5c15;--category-library-tint: #cfe4fb;--category-library-tint-hi: #e7f1fd;--category-library-solid: #2b7fd4;--category-library-ink: #12456f;--category-shopping-tint: #f6d9e6;--category-shopping-tint-hi: #fbecf2;--category-shopping-solid: #c2477e;--category-shopping-ink: #7d1f45;--category-indoorplay-tint: #afeefb;--category-indoorplay-tint-hi: #d8f6fd;--category-indoorplay-solid: #0091ad;--category-indoorplay-ink: #004f5c;--category-default-tint: #e9ebf0;--category-default-tint-hi: #f4f5f8;--category-default-solid: #7a8598;--category-default-ink: #3a4353;--shadow-chip: 0 0 0 .5px rgb(34 27 38 / 12%), 0 1px 2px rgb(34 27 38 / 14%), 0 4px 12px rgb(34 27 38 / 18%);--shadow-chip-low: 0 0 0 .5px rgb(34 27 38 / 10%), 0 1px 2px rgb(34 27 38 / 10%);--shadow-sheet: 0 -1px 3px rgb(34 27 38 / 8%), 0 -8px 32px rgb(34 27 38 / 18%);--focus-ring: 0 0 0 2px var(--surface), 0 0 0 5px var(--text-primary);--shadow-pin-rgb: 42 31 48;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--map-credit-gap: 36px;--filter-chip-h: 38px;--filter-bar-h: calc(var(--filter-chip-h) + var(--space-3) * 2);--radius-md: 12px;--radius-lg: 20px;--radius-pill: 999px;--dur-tap: .11s;--dur-panel: .28s;--ease-out: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--press-scale: .96;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-body: .9375rem;--text-lg: 1.0625rem;--text-title: 1.375rem;--text-input: 1rem;--weight-regular: 400;--weight-medium: 500;--weight-semi: 600;--weight-bold: 700;--tracking-tight: -.01em;--font-sans: -apple-system, blinkmacsystemfont, "Segoe UI", roboto, "Pretendard Variable", pretendard, "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", system-ui, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--font-sans);color:var(--text-primary);background:var(--surface-map);overscroll-behavior:none}#root{height:100vh;height:100dvh;display:flex;flex-direction:column}.app{flex:1;min-height:0;position:relative;overflow:clip}.app:before{content:"";position:absolute;top:0;left:0;right:0;height:32px;z-index:1;pointer-events:none;background:linear-gradient(to bottom,var(--surface-map),transparent)}.app__toast{position:absolute;left:var(--space-4);right:var(--space-4);top:calc(env(safe-area-inset-top,0px) + var(--filter-bar-h) + var(--space-2));z-index:4;margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--text-primary);color:var(--text-on-fill);font-size:var(--text-base);line-height:1.6;word-break:keep-all;box-shadow:var(--shadow-chip);animation:app-toast 4s ease-in-out forwards}.app__empty{position:absolute;left:var(--space-4);right:var(--space-4);top:calc(env(safe-area-inset-top,0px) + var(--space-4));z-index:4;margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--surface);color:var(--text-secondary);font-size:var(--text-base);line-height:1.6;text-align:center;word-break:keep-all;box-shadow:var(--shadow-chip)}.app__empty-text{margin:0}@keyframes app-toast{0%{opacity:0;transform:translateY(-8px)}10%,85%{opacity:1;transform:none}to{opacity:0}}@media(prefers-reduced-motion:reduce){@keyframes app-toast{0%,85%{opacity:1}to{opacity:0}}}:where(a,button,[tabindex]):focus-visible{outline:none;box-shadow:var(--focus-ring)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
