.discovery-app{min-height:100dvh}.discovery-app h1,.discovery-app h2,.discovery-app h3{letter-spacing:-.035em;text-wrap:balance}.discovery-app a,.discovery-app button{-webkit-tap-highlight-color:transparent}.discovery-app button{cursor:pointer}.discovery-app :is(a,button,input):focus-visible{outline:2px solid var(--ring);outline-offset:4px}:is(.discovery-search,.price-input-box) input:focus-visible{outline:none}:is(.discovery-search,.price-input-box):has(input:focus-visible){border-color:var(--ring);box-shadow:0 0 0 3px color-mix(in oklab,var(--ring) 50%,transparent)}.discovery-header{z-index:30;background:var(--card);border-bottom:1px solid var(--border);transition:transform .16s cubic-bezier(.23,1,.32,1);position:sticky;top:0;transform:translateY(0)}.discovery-header-inner{align-items:center;gap:14px;max-width:1232px;min-height:76px;margin:auto;padding:12px 16px;display:flex}.discovery-header .vivu-logo{display:block}.discovery-header .region-trigger{border-left:1px solid var(--border);text-align:left;border-radius:0;align-items:center;gap:7px;padding-left:14px;display:flex}.region-trigger small{color:var(--muted-foreground);font-size:11px;display:none}.region-trigger strong{white-space:nowrap;font-size:13px;font-weight:600}.region-trigger>svg:first-child{color:var(--primary)}.language-switch{align-items:center;gap:2px;margin-left:auto;font-size:12px;display:flex}.language-switch>svg{margin-right:4px}.language-switch a{min-width:25px;min-height:44px;color:var(--muted-foreground);justify-content:center;align-items:center;display:inline-flex}.language-switch a[aria-current]{color:var(--primary);font-weight:600}.language-switch>span{color:var(--muted-foreground)}.desktop-nav{display:none}.discovery-main{max-width:1232px;margin:auto;padding:28px 16px 40px}.view-heading h1{font-size:28px;font-weight:600;line-height:1.3}.discovery-search{border:1px solid var(--input);background:var(--card);border-radius:14px;align-items:center;gap:10px;max-width:680px;padding:7px 8px 7px 16px;display:flex}.discovery-search>svg{color:var(--primary);flex-shrink:0}.search-field{flex:1;min-width:0}.discovery-search input{outline-offset:1px;background:0 0;width:100%;min-width:0;height:40px;font-size:16px}.discovery-search input::placeholder{color:var(--muted-foreground);opacity:1}.discovery-search button{border-radius:10px;flex-shrink:0;height:44px}.discovery-search button span{display:none}.photo-location{background:var(--card);color:var(--foreground);border-radius:7px;align-items:center;gap:5px;padding:5px 9px;font-size:11px;display:flex;position:absolute;bottom:12px;right:12px}.primary-action{background:var(--primary);min-height:48px;color:var(--primary-foreground);border-radius:11px;justify-content:center;align-items:center;gap:12px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex}.primary-action:hover{background:var(--primary-hover)}.quick-section{margin:28px 0 32px}.quick-section h2{margin-bottom:12px;font-size:16px;font-weight:600}.quick-filters{flex-wrap:wrap;gap:8px;display:flex}.quick-filters button{background:var(--card);border:1px solid var(--input);border-radius:30px;align-items:center;gap:7px;min-height:44px;padding:8px 12px;font-size:12px;display:flex}.quick-filters button svg{color:var(--primary)}.section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.section-heading h2{font-size:22px;font-weight:600;line-height:1.4}.section-heading p{color:var(--muted-foreground);margin-top:5px;font-size:14px;line-height:1.6}.section-heading>a{display:none}.clear-filter{color:var(--primary);flex-shrink:0;align-items:center;gap:5px;font-size:13px;display:inline-flex}.place-photo{aspect-ratio:4/3;background:var(--secondary);width:100%;position:relative}.place-photo img{object-fit:cover}.place-location{color:var(--muted-foreground);align-items:center;gap:5px;font-size:13px;display:flex}.discovery-footer{border-top:1px solid var(--border);max-width:1232px;color:var(--muted-foreground);margin:auto;padding:24px 16px 110px;font-size:12px;line-height:1.8}.discovery-footer>div{align-items:center;gap:16px;margin-bottom:18px;display:flex}.discovery-footer>div p{max-width:220px}.discovery-footer details{margin-top:12px}.discovery-footer summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.discovery-footer details a{text-underline-offset:3px;text-decoration:underline}.mobile-tabbar{--tab-ease:cubic-bezier(.23, 1, .32, 1);z-index:30;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-tabbar-surface{filter:drop-shadow(0 -2px 8px #0b1c2114);grid-template-columns:1fr 112px 1fr;display:grid;position:absolute;inset:0}.mobile-tabbar-surface>span{background:var(--card);border-top:1px solid var(--border)}.mobile-tabbar-surface>svg{width:114px;height:64px;margin-inline:-1px}.mobile-tabbar-surface:after{content:"";height:calc(1px + env(safe-area-inset-bottom));background:var(--card);position:absolute;inset:auto 0 0}.mobile-tabbar-fill{fill:var(--card)}.mobile-tabbar-edge{fill:none;stroke:var(--border);stroke-width:1px;vector-effect:non-scaling-stroke}.mobile-tabbar-indicator{pointer-events:none;width:20%;transition:transform .32s var(--tab-ease);justify-items:center;display:grid;position:absolute;top:0;left:0}.mobile-tabbar-indicator>i{background:var(--primary);border-radius:0 0 3px 3px;width:28px;height:3px}.mobile-tab,.mobile-tab-checkin{height:64px;color:var(--muted-foreground);flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;padding-bottom:9px;font-size:11px;font-weight:500;line-height:1.2;display:flex;position:relative}.mobile-tab svg{transition:transform .32s var(--tab-ease)}.mobile-tab-checkin,.mobile-tab[aria-current]{color:var(--primary)}.mobile-tab[aria-current] svg{transform:translateY(-2px)}.mobile-tab:active svg{transform:scale(.92)}.mobile-tab-checkin{font-weight:600}.mobile-tab-checkin-button{background:var(--primary);width:56px;height:56px;color:var(--primary-foreground);border-radius:50%;place-items:center;margin-left:-28px;transition:transform .16s ease-out;display:grid;position:absolute;top:-24px;left:50%;box-shadow:0 6px 14px #086b7847}.mobile-tab-checkin-button:before{content:"";border:2px solid var(--primary);opacity:0;border-radius:50%;animation:3.6s ease-out infinite checkin-ring;position:absolute;inset:0}.mobile-tab-checkin-button svg{width:30px;height:30px;overflow:visible}.checkin-pin{stroke-width:1.7px}.checkin-pin,.checkin-v{fill:none;stroke:currentColor;stroke-linejoin:round}.checkin-v{stroke-width:2.1px;stroke-linecap:round;stroke-dasharray:12;animation:3.6s ease-in-out infinite checkin-v}.checkin-sun{fill:var(--brand-sun,#ffd166);transform-box:fill-box;transform-origin:50%;animation:3.6s ease-in-out infinite checkin-sun}.mobile-tab-checkin:active .mobile-tab-checkin-button{transform:scale(.94)}.mobile-tab-checkin[aria-current] .mobile-tab-checkin-button{box-shadow:0 0 0 4px var(--secondary),0 6px 14px #086b7847}.mobile-tab-checkin:focus-visible,.mobile-tab:focus-visible{outline:2px solid var(--ring);outline-offset:-4px;border-radius:12px}@keyframes checkin-ring{0%,55%{opacity:0;transform:scale(1)}62%{opacity:.45}to{opacity:0;transform:scale(1.45)}}@keyframes checkin-v{0%,50%{stroke-dashoffset:0}56%{stroke-dashoffset:12px}72%,to{stroke-dashoffset:0}}@keyframes checkin-sun{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-1.5px)scale(1.12)}}@media (prefers-reduced-motion:reduce){.mobile-tab svg,.mobile-tab-checkin-button,.mobile-tabbar-indicator{transition:none}.checkin-sun,.checkin-v,.mobile-tab-checkin-button:before{animation:none}.discovery-app *{scroll-behavior:auto!important}}.region-sheet{padding:24px}.region-sheet [data-slot=drawer-header]{text-align:left;padding:14px 0}.region-sheet [data-slot=drawer-title]{padding-right:32px;font-size:22px}.region-options{width:100%;max-width:500px;margin:auto;padding-bottom:24px}.region-options>:is(button,div){text-align:left;border-radius:14px;align-items:center;gap:14px;width:100%;padding:16px;display:flex}.region-options button{border:1px solid var(--primary);background:var(--secondary);color:var(--primary)}.region-options>div{color:var(--muted-foreground);margin-top:8px}.region-options span{flex-direction:column;flex:1;gap:4px;display:flex}.region-options strong{font-size:16px;font-weight:600}.region-options p,.region-options small{font-size:13px}.region-options p{color:var(--muted-foreground);margin-top:20px}.sheet-close{place-items:center;display:grid;position:absolute;top:18px;right:18px}.view-heading{margin-bottom:24px}.view-heading p{color:var(--muted-foreground);max-width:650px;margin-top:12px;font-size:14px;line-height:1.7}.back-link{min-height:44px;color:var(--primary);align-items:center;gap:8px;margin-bottom:16px;font-size:14px;display:inline-flex}.discovery-empty{text-align:center;border:1px dashed var(--input);background:var(--card);border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:45px 18px;display:flex}.saved-places{min-height:336px}.saved-loading{height:336px}.discovery-empty>svg,.profile-view>svg{color:var(--primary)}.discovery-empty h3{font-size:20px;font-weight:600}.discovery-empty p{color:var(--muted-foreground);max-width:400px;font-size:14px;line-height:1.7}.discovery-empty .primary-action{margin-top:8px}.map-card-action{gap:9px;margin-top:8px;font-size:13px}.profile-view{text-align:center;max-width:680px;margin:20px auto 50px}.profile-view>svg{margin:0 auto 16px}.profile-view h1{text-wrap:balance;font-size:calc(clamp(22px,6.4vw,28px));font-weight:600;line-height:1.3}.profile-view>p{max-width:44ch;color:var(--muted-foreground);text-wrap:pretty;margin:12px auto 0;font-size:15px;line-height:1.7}.profile-view>.profile-description-loading{min-height:1lh}.profile-view>.primary-action{width:fit-content;margin-inline:auto;display:flex}.profile-account{border:1px solid var(--border);background:var(--card);text-align:start;border-radius:16px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 12px 12px 16px;display:grid}.profile-account-icon{background:var(--secondary);width:40px;height:40px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.profile-account-identity{flex-direction:column;min-width:0;display:flex}.profile-account-identity span{color:var(--muted-foreground);font-size:12px;line-height:1.5}.profile-account-identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;line-height:1.5;overflow:hidden}.profile-sign-out{border:1px solid var(--border);background:var(--background);white-space:nowrap;border-radius:11px;flex-shrink:0;align-items:center;gap:6px;min-height:44px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.profile-sign-out:hover{background:var(--secondary)}.profile-sign-out:disabled{opacity:.6}@media (max-width:419px){.profile-account{grid-template-columns:40px minmax(0,1fr)}.profile-sign-out{grid-column:1/-1;justify-content:center}}.profile-account-loading{height:48px}.profile-settings{background:var(--card);border:1px solid var(--border);text-align:start;border-radius:14px;margin:28px 0;padding:4px 16px}.profile-settings>div{flex-wrap:wrap;align-items:center;gap:8px 12px;padding-block:14px;display:flex}.profile-settings>div>span{align-items:center;min-height:44px;display:flex}.practical-note,.profile-settings>div+div{border-top:1px solid var(--border)}.profile-settings>div>:last-child{margin-left:auto}.profile-settings .language-switch{gap:12px}.place-detail h1{margin:10px 0;font-size:32px;font-weight:600}.detail-grid{gap:26px;display:grid}.detail-grid>.place-photo{border-radius:18px;overflow:hidden}.editorial-label{color:var(--primary);font-size:13px}.detail-description{color:var(--muted-foreground);margin:22px 0;line-height:1.8}.practical-note{margin-top:28px;padding-top:24px}.practical-note h2{font-size:18px;font-weight:600}.practical-note p{color:var(--muted-foreground);margin-top:12px;font-size:14px;line-height:1.7}.source-link{min-height:44px;color:var(--primary);align-items:center;gap:12px;margin-top:16px;font-size:13px;display:inline-flex}.discovery-skip{z-index:100;background:var(--card);padding:12px;position:fixed;top:-100px;left:12px}.discovery-skip:focus{top:12px}.discovery-loading{max-width:1200px;margin:30px auto;padding:16px}.discovery-loading div{background:var(--secondary);border-radius:15px;height:70px;margin-bottom:24px}.discovery-loading div:last-child{height:350px}@media (min-width:640px){.discovery-main{padding-top:38px}.discovery-search button span{display:inline}.section-heading>a{color:var(--primary);flex-shrink:0;align-items:center;gap:8px;min-height:44px;font-size:13px;display:inline-flex}.region-trigger small{display:block}.region-trigger strong{font-size:14px}.language-switch{gap:6px}.language-switch a{min-width:30px}}@media (min-width:900px){.discovery-header-inner{gap:28px;min-height:88px}.desktop-nav{gap:28px;margin-left:auto;font-size:14px;display:flex}.desktop-nav a{min-height:44px;color:var(--muted-foreground);align-items:center;display:flex}.desktop-nav a[aria-current]{color:var(--primary);font-weight:600}.language-switch{margin-left:12px}.discovery-main{padding-top:40px}.quick-section{align-items:center;gap:24px;margin:28px 0 38px;display:flex}.quick-section h2{margin-bottom:0;font-size:15px}.mobile-tabbar{display:none}.discovery-footer{grid-template-columns:1fr auto;align-items:center;padding-bottom:32px;display:grid}.discovery-footer details{grid-column:1/-1}.discovery-footer>div{margin-bottom:0}.detail-grid{grid-template-columns:1.1fr 1fr;gap:40px}}@media (max-width:359px){.discovery-header-inner{gap:8px}.discovery-header .vivu-logo{width:85px}.discovery-header .region-trigger{gap:4px;padding-left:8px}.language-switch>svg,.region-trigger>svg:first-child{display:none}}.discovery-header .language-switch a{min-width:44px}@media (max-width:639px){.discovery-header-inner{gap:10px}.discovery-header .language-switch>svg{display:none}}.appearance-options{flex-wrap:wrap;gap:5px;display:flex}.appearance-options button{border:1px solid var(--input);border-radius:10px;min-width:44px;min-height:44px;padding:8px 12px;font-size:13px}.appearance-options button[aria-pressed=true]{color:var(--primary);background:var(--secondary);border-color:var(--primary)}.appearance-loading{background:var(--secondary);border-radius:10px;width:210px;height:44px}.discovery-footer>div>a,.discovery-header-inner>a:first-child{flex-shrink:0;margin:0}.discovery-header .region-trigger{min-width:0;max-width:220px}.region-trigger span{min-width:0}.region-trigger strong{text-overflow:ellipsis;display:block;overflow:hidden}.header-theme-slot{display:flex}.header-theme{min-width:44px;min-height:44px;color:var(--primary);border:1px solid var(--border);border-radius:50%;place-items:center;display:grid}.discovery-header .language-switch{margin-left:0}.region-selector{width:100%;max-width:620px;margin:0 auto;padding-bottom:20px}.region-parent-list{gap:8px;margin:12px 0 18px;display:flex}.region-parent-list button{border:1px solid var(--input);border-radius:12px;align-items:center;gap:8px;min-height:44px;padding:8px 16px;display:flex}.region-parent-list button[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.region-child-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.region-child-list button{border:1px solid var(--border);text-align:left;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:10px 12px;font-size:14px;display:flex}.region-child-list button:first-child{grid-column:1/-1}.region-child-list button[aria-pressed=true]{background:var(--secondary);color:var(--primary);border-color:var(--primary)}.region-selector>p{color:var(--muted-foreground);margin-top:16px;font-size:12px;line-height:1.7}.search-tags{flex-wrap:wrap;gap:8px;margin:12px 0 18px;display:flex}.search-tags button{border:1px solid var(--input);background:var(--card);min-height:44px;color:var(--muted-foreground);border-radius:30px;padding:6px 13px;font-size:12px}.search-tags button[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.places-section{margin-top:30px}.place-tags{flex-wrap:wrap;gap:5px;margin:10px 0;display:flex}.place-tags span{background:var(--secondary);color:var(--primary);border-radius:6px;padding:4px 8px;font-size:11px}.section-kicker{color:var(--primary);align-items:center;gap:7px;margin-bottom:7px;font-size:12px;display:flex}.route-tabs{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.route-tabs button{border:1px solid var(--input);background:var(--card);border-radius:10px;min-height:44px;padding:8px 14px;font-size:13px}.route-tabs button[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.stop-order{background:var(--card);border:1px solid var(--input);width:32px;height:32px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;display:grid}.utility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.utility-grid>a{background:var(--card);border:1px solid var(--border);border-radius:14px;align-items:center;gap:12px;padding:16px;display:flex}.utility-icon{color:var(--primary)}.utility-grid strong{font-size:14px;font-weight:600;display:block}.utility-grid small{color:var(--muted-foreground);margin-top:4px;font-size:11px;line-height:1.7;display:block}.utility-grid>a>svg{flex-shrink:0;margin-left:auto}@media (min-width:900px){.utility-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:639px){.utility-grid>a{gap:8px;padding:14px}.utility-grid>a>svg{display:none}}@media (max-width:419px){.discovery-header-inner{grid-template-columns:1fr 44px auto;gap:4px 10px;padding:10px 16px;display:grid}.discovery-header-inner>a:first-child{grid-area:1/1}.header-theme-slot{grid-area:1/2}.discovery-header .language-switch{grid-area:1/3}.discovery-header .region-trigger{border-left:0;grid-area:2/1/auto/-1;justify-self:start;max-width:none;min-height:40px;padding-left:0}.region-trigger>svg:first-child{display:block}.discovery-header .vivu-logo{width:106px}}.discovery-header-inner .desktop-nav,.discovery-header-inner .header-theme-slot{margin-left:auto}@media (min-width:900px){.discovery-header-inner .header-theme-slot{margin-left:0}}.vivu-theme-menu{width:200px;min-width:200px}.vivu-theme-menu [data-slot=dropdown-menu-radio-item]{white-space:nowrap;gap:10px;min-height:44px}.vivu-theme-menu [data-slot=dropdown-menu-radio-item]>svg{flex-shrink:0}.discovery-finder{border:1px solid var(--border);background:var(--card);border-radius:18px;width:100%;max-width:none;margin-bottom:28px;padding:0 20px 16px}.category-slider{min-width:0;padding:12px 0;position:relative}.category-slider-track{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:center;gap:8px;scroll-padding-inline:32px;display:flex;position:relative;overflow-x:auto}.category-slider-track::-webkit-scrollbar{display:none}.category-slider[data-start] .category-slider-track{-webkit-mask-image:linear-gradient(90deg,#0000,#000 32px);mask-image:linear-gradient(90deg,#0000,#000 32px)}.category-slider[data-end] .category-slider-track{-webkit-mask-image:linear-gradient(270deg,#0000,#000 32px);mask-image:linear-gradient(270deg,#0000,#000 32px)}.category-slider[data-start][data-end] .category-slider-track{-webkit-mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000)}.category-chip{border:1px solid var(--border);background:var(--card);min-height:44px;color:var(--foreground);white-space:nowrap;scroll-snap-align:start;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:500;line-height:20px;transition:background-color .14s ease-out,border-color .14s ease-out,color .14s ease-out;display:inline-flex}.category-chip svg{color:var(--primary);flex-shrink:0}.category-chip[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.category-chip[aria-pressed=true] svg{color:inherit}.category-chip:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}@media (hover:hover){.category-chip:not([aria-pressed=true]):hover{border-color:var(--primary)}}.category-slider-divider{background:var(--border);flex-shrink:0;width:1px;height:24px}.category-slider-arrow{display:none}@media (min-width:768px){.category-slider-arrow{z-index:1;border:1px solid var(--border);background:var(--card);width:36px;height:36px;color:var(--foreground);border-radius:50%;place-items:center;transition:border-color .14s ease-out;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.category-slider-arrow[data-side=start]{left:0}.category-slider-arrow[data-side=end]{right:0}.category-slider-arrow:hover{border-color:var(--primary)}.category-slider-arrow:focus-visible{outline:2px solid var(--ring);outline-offset:2px}}@media (prefers-reduced-motion:reduce){.category-chip,.category-slider-arrow{transition:none}}.discovery-finder .discovery-search{border-radius:12px;max-width:none;padding:5px 6px 5px 14px}.discovery-finder .search-tags{gap:6px;margin:10px 0 0}.discovery-finder .search-tags button{background:var(--secondary);color:var(--secondary-foreground);border-color:#0000;padding:6px 12px;font-size:12px}.discovery-finder .search-tags button[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground)}.place-rating{color:var(--muted-foreground);align-items:center;gap:4px;font-size:11px;display:inline-flex}@media (max-width:479px){.discovery-finder{padding:0 12px 12px}.discovery-finder .search-tags{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.discovery-finder .search-tags button{min-height:36px}}@media (max-width:419px){.discovery-header-inner .header-theme-slot{margin-left:0}}@media (max-width:359px){.discovery-finder .search-tags{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.place-rating,.place-tags span{font-size:12px}.header-language{min-width:44px;min-height:44px;color:var(--primary);border-radius:50%;place-items:center;display:grid}.vivu-theme-menu [data-slot=dropdown-menu-item]{justify-content:space-between;gap:12px;min-height:44px}@media (max-width:639px){.discovery-header-inner{gap:8px;min-height:72px;padding:10px 16px;display:flex}.discovery-header-inner .header-theme-slot{margin-left:auto}.discovery-header .region-trigger{border-left:1px solid var(--border);max-width:135px;min-height:44px;padding-left:10px}.discovery-header .vivu-logo{width:96px}.region-trigger>svg:first-child{display:none}}@media (max-width:359px){.discovery-header-inner{gap:4px;padding-inline:12px}.discovery-header .vivu-logo{width:80px}.discovery-header .region-trigger{padding-left:7px}}.discovery-finder .decision-filters{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.discovery-finder .decision-filters>button{justify-content:center;align-items:center;gap:5px;min-height:44px;padding:6px 10px;font-size:12px;display:inline-flex}.discovery-finder .decision-filters .advanced-filter-trigger{border-color:var(--input);color:var(--foreground);background:0 0;margin-left:auto}.advanced-filter-trigger b{background:var(--primary);color:var(--primary-foreground);border-radius:50%;padding:1px 5px;font-size:11px}.filter-sheet{flex-direction:column;max-height:calc(min(90dvh,900px));padding:0;display:flex}.filter-sheet>[data-slot=drawer-header]{text-align:left;border-bottom:1px solid var(--border);flex-shrink:0;padding:24px 24px 18px}.filter-sheet [data-slot=drawer-title]{padding-right:44px;font-size:22px}.advanced-filter-form{flex-direction:column;width:100%;max-width:700px;min-height:0;margin:auto;display:flex}.filter-sheet-scroll{overscroll-behavior:contain;gap:26px;min-height:0;padding:22px 24px;display:grid;overflow:hidden auto}.filter-sheet-scroll section h3{margin-bottom:12px;font-size:16px;font-weight:600}.filter-sheet-scroll section>p{color:var(--muted-foreground);margin-bottom:12px;font-size:13px;line-height:1.7}.filter-choice-row{flex-wrap:wrap;gap:8px;display:flex}.filter-choice-row button{border:1px solid var(--input);border-radius:10px;min-height:44px;padding:8px 14px;font-size:13px}.filter-amenities button[aria-pressed=true],.filter-choice-row button[aria-pressed=true]{background:var(--secondary);color:var(--primary);border-color:var(--primary)}.filter-section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-section-heading button{color:var(--primary);min-height:44px;font-size:12px}.filter-sheet select{border:1px solid var(--input);background:var(--card);border-radius:10px;height:44px;padding:8px 12px;font-size:14px}.price-number-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.open-now-control small,.price-number-fields label{color:var(--muted-foreground);font-size:12px}.price-number-fields [data-slot=form-control]{border:1px solid var(--input);border-radius:10px;align-items:center;padding:0 10px;display:flex}.price-number-fields input{background:0 0;width:100%;min-width:0;height:44px;font-size:16px}.price-number-fields span{color:var(--muted-foreground);font-size:13px}.filter-amenities{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.filter-amenities button{text-align:left;border:1px solid var(--input);border-radius:10px;min-height:48px;padding:10px 12px;font-size:13px}.filter-amenities button,.open-now-control{justify-content:space-between;align-items:center;display:flex}.open-now-control{cursor:pointer;gap:14px}.open-now-control strong{font-size:15px;font-weight:600;display:block}.open-now-control small{margin-top:4px;line-height:1.7;display:block}.open-now-control input{width:24px;height:24px;accent-color:var(--primary);flex-shrink:0}.filter-data-note{color:var(--muted-foreground);font-size:12px;line-height:1.8}.filter-sheet-footer{border-top:1px solid var(--border);background:var(--card);padding:16px 24px calc(16px + env(safe-area-inset-bottom));flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-sheet-footer>button:first-child{text-underline-offset:4px;min-height:44px;padding:8px 12px;font-size:14px;text-decoration:underline}.vivu-range{width:100%;margin:18px 0 22px}.vivu-range-control{touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;height:44px;display:flex;position:relative}.vivu-range-track{background:var(--border);border-radius:5px;width:100%;height:4px;position:relative}.vivu-range-indicator{background:var(--primary);border-radius:5px;height:4px}.vivu-range-thumb{background:var(--card);border:2px solid var(--primary);border-radius:50%;width:24px;height:24px}.vivu-range-thumb:after{content:"";position:absolute;inset:-10px}.vivu-range-thumb:focus-visible{outline:2px solid var(--ring);outline-offset:5px}.location-status{background:var(--secondary);color:var(--muted-foreground);border-radius:12px;margin:20px 0;padding:12px 16px;font-size:13px;line-height:1.7}@media (max-width:479px){.filter-sheet-scroll{padding:20px 16px}.filter-sheet-footer{padding-inline:16px}.discovery-finder .decision-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.discovery-finder .decision-filters .advanced-filter-trigger{margin-left:0}}.card-price small,.pending-fact small,.place-rating{font-size:10px}.place-amenity-icons{color:var(--primary);align-items:center;gap:10px;margin-top:10px;display:flex}.place-amenity-icons>span{display:inline-flex}.compact-place-facts{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:7px 10px;margin-top:10px;display:flex}.compact-place-facts>span{color:var(--muted-foreground);align-items:center;gap:4px;font-size:10px;display:inline-flex}.compact-place-facts .card-price{color:var(--primary);gap:3px}.card-price strong{font-size:14px;font-weight:600}.section-heading>a{min-height:44px;color:var(--primary);flex-shrink:0;align-items:center;gap:5px;padding:6px 0 6px 8px;font-size:12px;font-weight:500;display:inline-flex}.section-heading>div{min-width:0}.header-theme{border:0;border-radius:0}.discovery-header .region-trigger>svg:first-child{flex-shrink:0;width:15px;height:15px;display:block}@media (min-width:360px) and (max-width:479px){.section-heading h2{font-size:20px}}@media (max-width:419px){.discovery-header-inner{gap:4px}.discovery-header .vivu-logo{width:80px}.discovery-header .region-trigger{gap:4px;padding-left:6px}.region-trigger strong{font-size:12px}.header-language,.header-theme{min-width:40px;min-height:44px}}@media (max-width:359px){.discovery-header-inner{gap:2px;padding-inline:8px}.discovery-header .vivu-logo{width:72px}}.place-amenity-icons{height:22px;margin-top:0}.compact-place-facts{align-content:start;min-height:44px;margin-top:4px}.pending-fact{color:var(--muted-foreground);gap:5px}.filter-choice-row button,.filter-unit-trigger,.pending-fact{align-items:center;display:inline-flex}.filter-choice-row button{gap:7px}.filter-unit-trigger{border:1px solid var(--input);border-radius:10px;gap:9px;min-height:44px;padding:8px 12px;font-size:14px}.price-range-summary{color:var(--foreground);align-items:center;gap:12px;margin:20px 0 0;display:flex}.price-range-summary strong{font-size:16px;font-weight:600}.price-input-box>span,.price-range-summary>span{color:var(--muted-foreground)}.price-input-box{border:1px solid var(--input);background:var(--card);border-radius:11px;align-items:center;gap:5px;min-width:0;padding:0 10px;display:flex}.price-input-box input{box-shadow:none;background:0 0;border:0;width:100%;min-width:0;height:48px;padding:0}.price-input-box>span{flex-shrink:0;font-size:14px}.price-number-fields>div{min-width:0}.amenity-option-label{align-items:center;gap:9px;display:inline-flex}.amenity-option-label>svg{color:var(--primary);flex-shrink:0}.open-now-control{min-height:52px}.vivu-theme .open-now-switch{width:40px;min-width:40px;height:24px;min-height:24px}.vivu-theme .open-now-switch [data-slot=switch-thumb]{width:20px;height:20px}.vivu-theme .open-now-switch[data-unchecked]{background:var(--input)}.place-info-slots{margin-top:6px}.content-fallback-notice{background:var(--secondary);color:var(--secondary-foreground);border-radius:10px;margin-top:16px;padding:10px 12px;font-size:13px;line-height:1.7}.discovery-error{max-width:1200px;min-height:70dvh;margin:auto;padding:20px 16px}.discovery-error header{padding-bottom:20px;display:flex}.discovery-error header a{margin:0}.discovery-error main{text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:500px;margin:60px auto;display:flex}.discovery-error main>svg{color:var(--primary)}.discovery-error h1{font-size:26px;font-weight:600}.discovery-error p{color:var(--muted-foreground);line-height:1.8}.discovery-header-inner .header-actions{flex-shrink:0;align-items:center;gap:0;margin-left:auto;display:flex}.discovery-header-inner .header-actions .header-language,.header-avatar{width:40px;min-width:40px;height:44px;min-height:44px;color:var(--primary);background:0 0;border:0;border-radius:12px;place-items:center;padding:0;transition:background-color .15s;display:grid}.discovery-header-inner .header-actions .header-language:hover,.discovery-header-inner .header-actions .header-language[data-popup-open],.header-avatar:hover,.header-avatar[data-popup-open]{background:color-mix(in oklab,var(--primary) 8%,transparent)}.vivu-theme-menu [data-slot=dropdown-menu-label]{color:var(--muted-foreground);font-size:12px}@media (max-width:639px){.discovery-header-inner{padding-right:6px}}.place-detail-v2 .back-link{margin-bottom:22px}.detail-primary,.place-gallery{min-width:0}.gallery-stage{background:var(--secondary);border-radius:22px;position:relative;overflow:hidden}.gallery-track{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;position:relative;overflow-x:auto}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{aspect-ratio:4/3;scroll-snap-align:start;flex:0 0 100%;position:relative}.gallery-slide img,.planner-recommendation-image img{object-fit:cover}.gallery-counter{color:#fff;background:#0b1c21d9;border-radius:30px;padding:5px 10px;font-size:12px;bottom:14px;right:14px}.gallery-arrows,.gallery-counter{pointer-events:none;position:absolute}.gallery-arrows{justify-content:space-between;align-items:center;display:flex;inset:0 8px}.gallery-arrows button{width:44px;height:44px;color:var(--foreground);background:var(--card);pointer-events:auto;border-radius:50%;place-items:center;display:grid;box-shadow:0 2px 12px #0b1c2126}.gallery-arrows button:disabled{opacity:0;pointer-events:none}.gallery-dots{flex-wrap:wrap;justify-content:center;gap:2px;padding:8px 0 0;display:flex}.gallery-dots button{border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.gallery-dots span{opacity:.55;background-position:50%;background-size:cover;border-radius:50%;width:25px;height:25px}.gallery-dots [aria-pressed=true] span{opacity:1;outline:2px solid var(--primary);outline-offset:3px}.gallery-credits{color:var(--muted-foreground);padding:4px 0;font-size:11px}.gallery-credits summary{cursor:pointer;width:fit-content;padding-block:8px}.gallery-credits a{padding:5px 0;display:block}.detail-content-grid{gap:32px;margin-top:20px;display:grid}.detail-title-block h1{text-wrap:wrap;margin:12px 0;font-size:calc(clamp(28px,4vw,42px));line-height:1.22}.detail-eyebrow{color:var(--primary);justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex}.detail-eyebrow a,.detail-eyebrow>span{align-items:center;gap:6px;display:inline-flex}.detail-eyebrow small,.detail-location-link{color:var(--muted-foreground)}.detail-location-link{align-items:center;gap:7px;min-height:34px;font-size:13px;display:inline-flex}.place-detail-v2 .detail-description{color:var(--muted-foreground);margin:16px 0 20px;font-size:15px;line-height:1.8}.detail-anchor-nav{border-bottom:1px solid var(--border);gap:22px;margin-top:24px;display:flex;overflow-x:auto}.detail-anchor-nav a{white-space:nowrap;color:var(--primary);padding:16px 0;font-size:13px}.detail-section{border-bottom:1px solid var(--border);padding:28px 0;scroll-margin-top:20px}.detail-section-title{align-items:center;gap:10px;margin-bottom:18px;display:flex}.detail-section-title svg{color:var(--primary);flex-shrink:0}.detail-section h2,.detail-trip-note h2{font-size:20px;line-height:1.4}.detail-section h3{margin:24px 0 14px;font-size:16px}.visit-fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.visit-fact-grid>div{border:1px solid var(--border);background:var(--card);border-radius:14px;flex-direction:column;gap:7px;min-width:0;padding:16px;display:flex}.visit-fact-grid svg{color:var(--primary);margin-bottom:3px}.visit-fact-grid small,.visit-fact-grid span{color:var(--muted-foreground);font-size:11px;line-height:1.5}.visit-fact-grid strong{font-size:14px;font-weight:600;line-height:1.5}.weekly-hours{border:1px solid var(--border);background:var(--card);border-radius:14px;margin-top:16px;padding:14px 16px}.weekly-hours h3{margin:0 0 6px;font-size:14px;font-weight:600}.weekly-hours dl{margin:0}.weekly-hours dl>div{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;font-size:13px;line-height:1.5;display:flex}.weekly-hours dl>div:first-child{border-top:0}.weekly-hours dt{white-space:nowrap;color:var(--muted-foreground);flex-shrink:0;align-items:baseline;gap:6px;display:inline-flex}.weekly-hours dd{text-align:right;font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:flex-end;column-gap:10px;min-width:0;margin:0;display:flex}.weekly-hours dd>span{white-space:nowrap}.weekly-hours [data-today] dd,.weekly-hours [data-today] dt{color:var(--foreground);font-weight:600}.weekly-hours-today{background:var(--secondary);color:var(--primary);border-radius:999px;padding:0 7px;font-size:11px;font-weight:600}.detail-access-note{color:var(--muted-foreground);align-items:flex-start;gap:9px;margin-top:16px;font-size:13px;line-height:1.8;display:flex}.detail-access-note svg{color:var(--primary);flex-shrink:0;margin-top:3px}.detail-facilities,.detail-highlights{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.detail-facilities span,.detail-highlights span{align-items:center;gap:9px;font-size:13px;line-height:1.6;display:flex}.detail-facilities svg,.detail-highlights svg,.detail-tips li svg{color:var(--primary);flex-shrink:0}.detail-tips ul{gap:14px;padding:0;list-style:none;display:grid}.detail-tips li{color:var(--muted-foreground);align-items:flex-start;gap:10px;font-size:14px;line-height:1.8;display:flex}.detail-tips li svg{margin-top:5px}.detail-sources{color:var(--muted-foreground);margin-top:22px;font-size:12px}.detail-sources summary{cursor:pointer;padding-block:10px}.detail-sources a{color:var(--primary);padding:8px 0;display:block}.detail-sources small{line-height:1.8;display:block}.detail-trip-note{background:var(--secondary);border-radius:20px;align-self:start;padding:24px;display:none}.detail-trip-note>svg{color:var(--primary);margin-bottom:16px}.detail-trip-note p{color:var(--muted-foreground);margin:14px 0 22px;font-size:14px;line-height:1.8}.detail-trip-note a{gap:8px;font-size:14px}.detail-trip-note a,.external-review-summary{color:var(--primary);align-items:center;display:flex}.external-review-summary{background:var(--secondary);border-radius:16px;gap:12px;margin-bottom:18px;padding:18px}.external-review-summary strong{font-size:28px}.external-review-summary strong small{font-size:14px}.external-review-summary span{font-size:13px}.external-review-summary span small{color:var(--muted-foreground);margin-top:4px;display:block}.detail-muted,.review-empty,.write-review>p{color:var(--muted-foreground);font-size:13px;line-height:1.8}.review-empty{margin:12px 0 22px}.write-review{border:1px solid var(--border);background:var(--card);border-radius:18px;padding:20px}.write-review h3{margin:0 0 8px;font-size:18px}.write-review form{gap:18px;margin-top:18px;display:grid}.write-review form input,.write-review form textarea{background:var(--background);border:1px solid var(--border);border-radius:10px;width:100%;font-size:16px}.write-review form .primary-action{justify-self:start}.review-stars{color:var(--primary);gap:2px;display:flex}.review-stars button{place-items:center;width:44px;height:44px;display:grid}.review-error{color:var(--destructive);font-size:12px;line-height:1.6}.review-success{color:var(--primary);align-items:center;gap:10px;padding-top:18px;display:flex}.native-review{border:1px solid var(--border);border-radius:14px;margin-bottom:12px;padding:16px;font-size:14px}.native-review>div:first-child{justify-content:space-between;gap:12px;display:flex}.native-review span{color:var(--primary);align-items:center;gap:4px;display:flex}.native-review p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0;line-height:1.8}.native-review time{color:var(--muted-foreground);font-size:12px}.vivu-rating{align-items:center;gap:6px;margin-bottom:12px;font-size:15px;font-weight:600;display:flex}.review-score,.vivu-rating svg{color:var(--primary)}.review-score{flex-shrink:0;gap:1px;display:inline-flex}.native-review>div:first-child strong{overflow-wrap:anywhere;min-width:0}.native-review-meta{flex-wrap:wrap;align-items:center;column-gap:12px;min-height:44px;margin-bottom:-8px;display:flex}.native-review .review-checkin-badge{color:var(--muted-foreground);font-size:12px}.native-review .review-checkin-badge svg{color:var(--primary)}.review-report{min-height:44px;color:var(--muted-foreground);border-radius:10px;align-items:center;gap:4px;margin-left:auto;margin-right:-8px;padding:0 8px;font-size:12px;display:inline-flex}.review-reply{border-left:2px solid var(--border);margin-top:8px;padding:10px 12px;font-size:13px}.review-reply strong{font-weight:600;display:block}.native-review .review-reply p{margin:4px 0 0;line-height:1.6}.review-form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.review-checkin-required{background:var(--secondary);border-radius:12px;gap:10px;padding:12px;font-size:14px;line-height:1.5;display:grid}.review-checkin-required .primary-action{justify-self:start;gap:8px}.review-text-action{min-height:44px;color:var(--primary);border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.review-text-action[data-tone=danger]{color:var(--destructive)}.my-review-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.write-review .my-review-head h3{margin:0}.my-review-status{color:var(--muted-foreground);font-size:13px;font-weight:600}.my-review-status[data-status=published]{color:var(--primary)}.my-review-status[data-status=hidden],.my-review-status[data-status=rejected]{color:var(--destructive)}.my-review-note{color:var(--muted-foreground);margin-top:6px;font-size:13px;line-height:1.6}.my-review-body{border-top:1px solid var(--border);margin-top:14px;padding-top:14px;font-size:14px}.my-review-body>div{justify-content:space-between;gap:12px;display:flex}.my-review-body p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;line-height:1.7}.my-review-actions{gap:4px;margin:8px 0 -8px -12px;display:flex}.review-sheet-body{gap:12px;display:grid}.report-reasons{gap:8px;display:grid}.report-reasons button{border:1px solid var(--border);background:var(--card);text-align:left;border-radius:12px;min-height:48px;padding:0 14px;font-size:15px;transition:border-color .15s,background-color .15s}.report-reasons button[aria-pressed=true]{border-color:var(--primary);background:var(--secondary);font-weight:600}.report-note{gap:6px;font-size:14px;font-weight:500;display:grid}.report-note textarea{font-size:16px}.review-sheet .review-success{align-items:flex-start;padding-top:0}.review-sheet .review-success small{color:var(--muted-foreground);margin-top:2px;font-size:14px;display:block}.checkin-primary[data-tone=danger]{background:var(--destructive);color:var(--background)}.checkin-primary:disabled,.checkin-secondary:disabled{opacity:.6}.review-report:focus-visible,.review-sheet button:focus-visible,.review-text-action:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (hover:hover) and (pointer:fine){.report-reasons button:not([aria-pressed=true]):hover,.review-report:hover,.review-text-action:hover{background:var(--secondary)}}@media (prefers-reduced-motion:reduce){.report-reasons button{transition:none}.gallery-track{scroll-behavior:auto}}.detail-related{border-bottom:0}@media (min-width:900px){.gallery-slide{aspect-ratio:16/7}.detail-content-grid{grid-template-columns:minmax(0,1fr) 290px;gap:52px}.detail-trip-note{display:block;position:sticky;top:24px}.place-videos{grid-template-columns:repeat(2,minmax(0,1fr))}}.discovery-main:has(.place-detail-v2){padding-top:8px}.place-detail-v2{padding-top:0}.place-detail-v2 .back-link{min-height:44px;margin-bottom:16px}.map-search-results button>span,.places-map-view{min-width:0}.places-map-canvas{border:1px solid var(--border);background:var(--secondary);z-index:0;border-radius:18px;height:calc(min(58dvh,560px));min-height:320px}.compact-map .places-map-canvas{height:300px;min-height:280px}.map-coordinate-note{color:var(--muted-foreground);margin:8px 0 14px;font-size:11px;line-height:1.7}.map-selected-place{border:1px solid var(--border);background:var(--card);border-radius:14px;align-items:center;gap:12px;padding:16px;display:flex}.map-selected-place a,.map-selected-place>svg{color:var(--primary);flex-shrink:0}.map-search-results strong,.map-selected-place strong{font-size:14px}.map-selected-place p,.map-selected-place small{color:var(--muted-foreground);margin-top:6px;font-size:12px;line-height:1.6}.map-selected-place a{margin-left:auto;font-size:12px}.map-search{z-index:2;margin-bottom:12px;position:relative}.map-search-field{background:var(--card);border:1px solid var(--border);color:var(--primary);border-radius:14px;align-items:center;gap:10px;padding:0 12px;display:flex}.discovery-app .map-search-field input:focus-visible{outline:none}.map-search-field:focus-within{outline:2px solid var(--primary);outline-offset:2px}.map-search-field input{width:100%;min-width:0;height:48px;color:var(--foreground);background:0 0;border:0;outline:0;font-size:14px}.map-search-field button{place-items:center;min-width:44px;min-height:44px;display:grid}.map-search-results{background:var(--card);border:1px solid var(--border);border-radius:14px;max-height:calc(min(40dvh,320px));padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0002}.map-search-results button{text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px;display:flex}.map-search-results [data-active=true],.map-search-results button:hover,.video-frame{background:var(--secondary)}.map-search-results small,.map-search-results strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.map-search-results p,.map-search-results small{color:var(--muted-foreground);font-size:12px}.map-search-results p{padding:12px}.map-load-note{align-items:center;gap:8px;padding:12px;font-size:13px;display:flex}.map-load-note button{color:var(--primary);align-items:center;gap:6px;min-height:44px;display:flex}.leaflet-container,.map-place-card,.maplibregl-map{font-family:inherit}.leaflet-control-attribution,.maplibregl-ctrl-attrib{font-size:10px}.map-finder-bottom{display:none}@media (max-width:767px){.discovery-main-map{padding-top:8px}.discovery-main-map .view-heading{margin-bottom:8px}.discovery-main-map .view-heading h1{font-size:22px}.discovery-main-map .view-heading p,.map-finder-top{display:none}.map-finder-bottom{margin-top:20px;display:block}.map-finder-bottom .discovery-finder{margin-bottom:0}.discovery-main-map .places-section .section-heading{margin-bottom:8px}.discovery-main-map .places-map-canvas{height:calc(min(62dvh,560px))}}.discovery-app :is(h1,h2),.region-sheet [data-slot=drawer-title]{text-wrap:balance}@media (max-width:639px){.view-heading h1{font-size:calc(clamp(23px,7.4vw,28px))}}@media (max-width:359px){.detail-section-title h2,.section-heading h2{font-size:19px}.discovery-finder{padding-inline:8px}.discovery-finder .decision-filters>button{gap:4px;padding-inline:6px}}@media (max-width:399px){.discovery-header .region-trigger>svg:first-child{display:none}}.advanced-filter-trigger,.amenity-option-label,.discovery-finder .decision-filters>button,.discovery-header .region-trigger strong,.filter-unit-trigger{white-space:nowrap}.discovery-finder .decision-filters>button{min-width:0}.discovery-finder .decision-filters>button svg{flex-shrink:0}.detail-eyebrow>a{flex-shrink:0;min-height:44px}.region-parent-list button{white-space:nowrap;flex:1 1 0;justify-content:center;min-width:0}.region-child-list button>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (max-width:479px){.region-sheet{padding:16px}.region-sheet [data-slot=drawer-header]{padding:8px 0}.region-sheet [data-slot=drawer-title]{padding-right:44px;font-size:calc(clamp(19px,5.9vw,22px));line-height:1.3}.region-sheet .sheet-close{top:12px;right:8px}.region-parent-list button{padding-inline:10px}}.discovery-search input{text-overflow:ellipsis}.place-videos{gap:16px;padding:0;list-style:none;display:grid}.video-frame{aspect-ratio:16/9;border-radius:16px;position:relative;overflow:hidden}.video-frame-portrait{aspect-ratio:9/16;max-width:100%;max-height:560px;margin-inline:auto}.video-frame iframe,.video-frame video{background:#000;border:0;width:100%;height:100%;position:absolute;inset:0}.video-poster{width:100%;color:var(--secondary-foreground);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;font-weight:600;transition:background-color .14s;display:flex;position:absolute;inset:0}.video-poster:hover{background:color-mix(in oklab,var(--primary) 8%,var(--secondary))}.video-poster:active .video-play-icon{transform:scale(.96)}.video-play-icon{background:var(--primary);width:52px;height:52px;color:var(--primary-foreground);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .12s;display:inline-flex}.video-play-icon svg{margin-inline-start:3px}.video-open-link{min-height:44px;color:var(--primary);align-items:center;gap:6px;font-size:13px;display:inline-flex}.place-contact a,.video-link-card{border:1px solid var(--border);background:var(--card);min-height:56px;color:var(--foreground);border-radius:16px;align-items:center;gap:12px;padding:10px 14px;display:flex}.owner-entry-icon,.video-link-card .video-play-icon{width:40px;height:40px}.place-contact a>span,.video-link-card>span:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.place-contact strong,.video-link-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.place-contact small,.video-link-card small{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.place-contact a>svg,.video-link-card>svg{color:var(--primary);flex-shrink:0}.place-contact{gap:10px;padding:0;list-style:none;display:grid}.claim-place-line{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:4px 10px;padding:18px 0 8px;font-size:14px;display:flex}.claim-place-line>svg{color:var(--primary);flex-shrink:0}.claim-place-line a{min-height:44px;color:var(--primary);white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.owner-entry-card{border:1px solid var(--border);background:var(--card);text-align:start;border-radius:16px;align-items:flex-start;gap:14px;margin:0 0 28px;padding:16px;display:flex}.owner-entry-icon{background:var(--secondary);color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.owner-entry-card>div{min-width:0}.owner-entry-card h2{font-size:16px;font-weight:600;line-height:1.4}.owner-entry-card p{color:var(--muted-foreground);text-wrap:pretty;margin-top:4px;font-size:14px;line-height:1.6}.owner-entry-action{min-height:44px;color:var(--primary);white-space:nowrap;align-items:center;gap:8px;margin-top:4px;font-size:14px;font-weight:600;display:inline-flex}.owner-entry-action:disabled{opacity:.7}@media (prefers-reduced-motion:reduce){.video-play-icon,.video-poster{transition:none}}.auth-gate{padding:0}.auth-gate :is(button,a){cursor:pointer;-webkit-tap-highlight-color:transparent}.auth-gate-sheet[data-slot=drawer-popup]{--drawer-content-max-height:calc(100dvh - 32px);border-radius:24px 24px 0 0;transition-property:transform,opacity;transition-duration:.24s;transition-timing-function:cubic-bezier(.32,.72,0,1)}.auth-gate-sheet[data-slot=drawer-popup][data-ending-style]{transition-duration:clamp(.16s,var(--drawer-swipe-strength,1) * .18s,.2s);transition-timing-function:cubic-bezier(.23,1,.32,1)}.auth-gate-sheet[data-slot=drawer-popup][data-swiping]{transition-duration:0s}[data-slot=drawer-overlay]:has(~* .auth-gate-sheet){transition-duration:.24s}[data-slot=drawer-overlay]:has(~* .auth-gate-sheet)[data-ending-style]{transition-duration:.18s}.auth-gate-dialog{border-radius:16px;flex-direction:column;gap:0;max-width:420px;max-height:calc(100dvh - 48px);display:flex;overflow:hidden}.auth-gate-dialog[data-open]{--tw-enter-scale:.97;animation-duration:.24s;animation-timing-function:cubic-bezier(.23,1,.32,1)}.auth-gate-dialog[data-closed]{--tw-exit-scale:.97;animation-duration:.18s;animation-timing-function:cubic-bezier(.23,1,.32,1)}.auth-gate-body{overscroll-behavior:contain;min-height:0;padding:24px 16px calc(12px + env(safe-area-inset-bottom));flex-direction:column;flex:auto;gap:20px;display:flex;overflow-y:auto}.auth-gate-header{text-align:left;gap:4px;padding-right:40px;display:grid}.auth-gate-header [data-slot$=-title]{letter-spacing:-.01em;text-wrap:balance;font-size:22px;font-weight:600;line-height:30px}.auth-gate-header [data-slot$=-description]{color:var(--muted-foreground);text-wrap:pretty;font-size:14px;line-height:20px}.auth-gate-close{z-index:1;width:44px;height:44px;color:var(--muted-foreground);border-radius:12px;place-items:center;transition-property:color,background-color;transition-duration:.14s;display:grid;position:absolute;top:12px;right:12px}.auth-gate-close:hover{color:var(--foreground);background:var(--secondary)}.auth-gate-methods{flex-direction:column;gap:16px;min-width:0;display:flex}.auth-gate-methods>*{flex:none;min-width:0}.auth-gate-or{color:var(--muted-foreground);white-space:nowrap;align-items:center;gap:12px;font-size:14px;line-height:20px;display:flex}.auth-gate-or>[data-slot=separator]{flex:1}.auth-gate form{row-gap:16px}.auth-gate [data-slot=form-label]{font-size:14px;font-weight:500}.auth-gate [data-slot=input-group],.auth-gate [data-slot=input]{border-color:var(--input);border-radius:12px;height:48px}.auth-gate [data-slot=input-group]{padding-inline-start:4px}.auth-gate [data-slot=input-group-control]{font-size:16px}.auth-gate [data-slot=input-group] [data-slot=button]{min-width:44px;min-height:40px;color:var(--muted-foreground);border-radius:10px;margin-inline-end:2px}.auth-gate :is(form button[type=submit],[data-test=auth-provider-button]){white-space:nowrap;border-radius:12px;height:48px;font-size:15px;font-weight:600}.auth-gate [data-test=auth-provider-button]{border-color:var(--input);background:0 0}.auth-gate [data-test=auth-provider-button]:hover{background:var(--secondary)}.auth-gate :is(form button[type=submit],[data-test=auth-provider-button]):active:not(:disabled){transform:scale(.98)}.auth-gate [data-test=last-auth-method-hint]{background:var(--brand-sun);color:var(--brand-sun-foreground)}.auth-gate-switch{min-height:44px;color:var(--primary);text-underline-offset:4px;border-radius:10px;align-self:center;padding-inline:8px;font-size:14px;font-weight:600}.auth-gate-switch:hover{text-decoration:underline}@media (min-width:768px){.auth-gate-body{padding:28px 24px 20px}}@media (prefers-reduced-motion:reduce){.auth-gate-dialog:is([data-open],[data-closed]){--tw-enter-scale:1;--tw-exit-scale:1}.auth-gate-sheet[data-slot=drawer-popup]{--closed-transform:none;transition-property:opacity;transition-duration:.2s}.auth-gate-sheet[data-slot=drawer-popup]:is([data-starting-style],[data-ending-style]){opacity:0}.auth-gate :is(form button[type=submit],[data-test=auth-provider-button]):active{transform:none}}.inquiry-cta-action{white-space:nowrap;gap:8px;width:100%;font-size:15px;transition:background-color .12s,transform .12s}.inquiry-cta-action:active{transform:scale(.98)}.inquiry-cta-note{color:var(--muted-foreground);text-wrap:pretty;margin-top:10px;font-size:13px;line-height:1.5}@media (min-width:640px){.inquiry-cta-action{width:auto;min-width:220px}}.profile-link-row{border:1px solid var(--border);background:var(--card);text-align:start;border-radius:16px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:64px;margin-bottom:12px;padding:12px 16px;transition:border-color .15s;display:grid}.profile-link-row:hover{border-color:var(--input)}.profile-link-row strong{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.inquiry-page-header p,.profile-link-row>svg{color:var(--muted-foreground)}.inquiry-page{flex-direction:column;gap:20px;width:100%;min-width:0;max-width:640px;margin-inline:auto;display:flex}.inquiry-page .back-link{width:fit-content;margin:-8px 0 -12px -4px;padding-inline:4px}.inquiry-page-header{flex-direction:column;gap:6px;min-width:0;display:flex}.inquiry-page-header h1{overflow-wrap:anywhere;font-size:calc(clamp(23px,7vw,28px));font-weight:600;line-height:1.25}.inquiry-page-header p{align-items:center;gap:6px;min-width:0;font-size:14px;line-height:1.5;display:flex}.inquiry-page-header p>svg{color:var(--primary);flex-shrink:0}.inquiry-page-header h1 a{color:inherit;font-weight:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:4px}.inquiry-meta{color:var(--muted-foreground);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;display:flex}.inquiry-page .discovery-empty .inquiry-empty-title{font-size:18px;font-weight:600;line-height:1.4}.inquiry-page-card{border:1px solid var(--border);background:var(--card);border-radius:16px;min-width:0;padding:20px 16px}.inquiry-group{flex-direction:column;gap:10px;min-width:0;display:flex}.inquiry-group h2{align-items:center;gap:8px;font-size:15px;font-weight:600;line-height:1.5;display:flex}.inquiry-group h2 span{background:var(--secondary);min-width:22px;height:22px;color:var(--secondary-foreground);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 6px;font-size:12px;line-height:22px}.inquiry-sent-banner{background:var(--success-background);color:var(--success);border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.5;display:flex}.inquiry-sent-banner>svg{flex-shrink:0;margin-top:1px}.inquiry-sent-banner strong{font-weight:600;display:block}.inquiry-disclaimer{color:var(--muted-foreground);font-size:13px;line-height:1.5}@media (min-width:640px){.inquiry-page-card{padding:24px}}@media (prefers-reduced-motion:reduce){.inquiry-cta-action:active{transform:none}}.discovery-header[data-scroll-hidden=true]:not(:has([aria-expanded=true])){pointer-events:none;transform:translateY(-100%)}.discovery-header:has(:focus-visible):not([data-scroll-hidden=true]){transition:none}@media (prefers-reduced-motion:reduce){.discovery-header{transition:none}}.map-route-stops{border:1px solid var(--border);background:var(--card);border-radius:14px;margin:12px 0;padding:12px}.map-route-heading,.map-route-heading strong{align-items:center;gap:8px;display:flex}.map-route-heading{justify-content:space-between;font-size:13px}.map-route-heading button{min-height:44px;color:var(--primary);font-size:12px}.map-route-stops ol{margin:0;padding:0;list-style:none}.map-route-stops li{border-top:1px solid var(--border);align-items:center;gap:4px;padding:6px 0;display:flex}.map-stop-number{background:var(--primary);width:24px;height:24px;color:var(--primary-foreground);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;display:grid}.map-stop-name{flex:1;min-width:0;padding:0 4px}.map-stop-name strong{font-size:13px;line-height:1.5;display:block}.map-stop-name small{color:var(--muted-foreground);font-size:11px;display:block}.map-route-stops li button{width:44px;min-height:44px;color:var(--primary);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.map-route-stops li button:disabled{opacity:.3;cursor:default}.map-route-stops li button:hover:not(:disabled),.map-route-summary{background:var(--secondary)}.map-route-stops p,.map-search-limit{color:var(--muted-foreground);margin-top:8px;font-size:12px}.map-route-summary{border-radius:12px;margin:12px 0;padding:12px;font-size:13px}.map-route-summary small{color:var(--muted-foreground);margin-top:4px;font-size:11px;line-height:1.6;display:block}.map-route-summary button{min-height:44px;color:var(--primary);text-decoration:underline}.map-search-results button[aria-selected=true]{background:var(--secondary);color:var(--primary)}.map-search-results button:disabled{opacity:.5;cursor:default}.planner-intro{max-width:640px;margin:16px 0 24px}.planner-intro h1{margin:12px 0;font-size:calc(clamp(28px,4vw,40px));line-height:1.2}.planner-intro p,.planner-sign-in p{color:var(--muted-foreground);font-size:14px;line-height:1.7}.planner-layout{gap:24px;display:grid}.planner-recommendations,.planner-workspace{min-width:0}.planner-preferences{background:var(--card);border:1px solid var(--border);border-radius:18px;margin-bottom:20px;padding:16px}.planner-preferences label{gap:8px;font-size:14px;font-weight:600;display:grid}.planner-preferences input{border:1px solid var(--border);background:var(--background);border-radius:10px;width:100%;min-width:0;min-height:48px;padding:12px;font-size:16px;font-weight:400}.planner-preferences fieldset{margin:20px 0 16px}.planner-preferences legend{margin-bottom:10px;font-size:14px;font-weight:600}.planner-themes{flex-wrap:wrap;gap:8px;display:flex}.planner-themes button{border:1px solid var(--border);border-radius:24px;min-height:44px;padding:10px 12px;font-size:12px}.planner-themes [aria-pressed=true]{background:var(--secondary);color:var(--primary);border-color:var(--primary)}.planner-suggest-button{color:var(--primary);align-items:center;gap:8px;min-height:44px;font-size:14px;display:inline-flex}.planner-hint{color:var(--muted-foreground);font-size:12px;line-height:1.7}.planner-recommendations{border-top:1px solid var(--border);padding-top:20px}.planner-recommendations-heading{color:var(--primary);align-items:center;gap:8px;display:flex}.planner-recommendations h2{font-size:20px}.planner-recommendations>p{color:var(--muted-foreground);margin:8px 0 16px;font-size:12px;line-height:1.7}.planner-recommendation-list{gap:10px;display:grid}.planner-recommendation-list article{border:1px solid var(--border);background:var(--card);border-radius:14px;gap:12px;padding:14px;display:flex}.planner-recommendation-copy{flex:1;min-width:0}.planner-recommendation-copy small{color:var(--primary);font-size:11px}.planner-recommendation-copy h3{margin:4px 0;font-size:14px;line-height:1.5}.planner-recommendation-copy p{color:var(--muted-foreground);align-items:center;gap:4px;font-size:12px;display:flex}.planner-recommendation-list button{background:var(--secondary);width:44px;min-height:44px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.planner-recommendation-list button:disabled{opacity:.4;cursor:default}.planner-sign-in{border:1px solid var(--border);border-radius:14px;margin-bottom:20px;padding:16px}.planner-sign-in .primary-action{margin-top:12px}.planner-footer{gap:10px;margin-top:16px;display:grid}.planner-footer small{color:var(--muted-foreground);font-size:12px;line-height:1.7}@media (min-width:900px){.planner-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:32px}.planner-recommendations{border-top:0;padding-top:0;position:sticky;top:100px}}@media (max-width:899px){.planner-layout{flex-direction:column;gap:20px;display:flex}.planner-workspace{display:contents}.planner-preferences{order:0;margin-bottom:0}.planner-recommendations{border:0;order:1;padding-top:0}.planner-recommendation-list{scroll-snap-type:x proximity;padding-bottom:6px;display:flex;overflow-x:auto}.planner-recommendation-list article{scroll-snap-align:start;flex:0 0 100%}.planner-layout .places-map-view{order:2;width:100%}.planner-footer{order:3;margin-top:0}}.planner-suggest-button:disabled{opacity:.5;cursor:default}.place-category-badge{background:var(--secondary);width:fit-content;max-width:100%;color:var(--primary);border-radius:6px;align-items:center;gap:4px;padding:3px 6px;font-size:11px;font-weight:500;line-height:1.4;display:inline-flex}.place-category-badge svg{flex-shrink:0}.map-search-results .place-category-badge{margin:4px 0}.planner-place-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.planner-place-rating{color:var(--primary);align-items:center;gap:3px;font-size:11px;display:inline-flex}.planner-recommendation-image{background:var(--secondary);width:64px;color:var(--primary);border-radius:10px;flex-shrink:0;align-self:center;place-items:center;height:72px;display:grid;position:relative;overflow:hidden}.planner-recommendation-list article{grid-template-columns:64px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:12px;display:grid}.planner-recommendation-copy h3{margin:0 0 6px}.planner-place-meta{margin-bottom:6px}.planner-recommendation-copy p,.planner-recommendation-reason>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.planner-recommendation-list button{border-radius:10px}.planner-recommendation-reason{border-top:1px solid var(--border);min-width:0;color:var(--muted-foreground);grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;font-size:11px;display:flex}.planner-recommendation-reason>span{min-width:0}.planner-recommendation-reason small{white-space:nowrap;color:var(--primary);flex-shrink:0;font-size:11px}.section-heading{align-items:baseline}.section-heading>a{padding:0 0 0 8px}.discovery-main:has(.planner-map-first){max-width:none;padding:0}.discovery-app:has(.planner-map-first) .discovery-footer{display:none}.planner-map-first{height:calc(100dvh - 138px);min-height:380px;position:relative;overflow:clip}.planner-map-stage,.planner-map-stage .places-map-stage,.planner-map-stage .places-map-view{height:100%;position:absolute;inset:0}.planner-map-stage .places-map-canvas{border:0;border-radius:0;height:100%;min-height:0}.planner-map-dock{z-index:2;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:12px;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .18s,visibility;position:absolute;bottom:12px;left:12px;right:12px;box-shadow:0 3px 16px #00000012}.planner-dock-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.planner-dock-title strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.planner-dock-title>span{color:var(--muted-foreground);flex-shrink:0;font-size:11px}.planner-route-status{min-height:20px;color:var(--muted-foreground);margin-top:4px;font-size:12px;line-height:1.5}.planner-route-status button{min-height:44px;color:var(--primary);padding:0 8px;text-decoration:underline}.planner-dock-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0;display:grid}.planner-dock-tabs button{background:var(--secondary);min-height:44px;color:var(--foreground);border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.planner-dock-tabs button svg{flex-shrink:0}.planner-save-button{width:100%;min-height:44px}.planner-save-error{color:var(--destructive);margin-top:8px;font-size:12px;line-height:1.5}.planner-map-stage .maplibregl-ctrl-bottom-right{max-width:calc(100% - 24px);bottom:202px}.planner-map-stage .map-load-note{z-index:3;background:var(--card);border-radius:10px;position:absolute;top:72px;left:12px;right:56px}.planner-sheet{flex-direction:column;max-height:calc(min(85dvh,760px));display:flex}.planner-sheet-scroll{overscroll-behavior:contain;min-height:0;padding:0 16px 16px;overflow-y:auto}.planner-sheet-scroll .map-search{margin:8px 0 16px}.planner-sheet-scroll .map-search-results{max-height:calc(min(42dvh,320px))}.planner-sheet-scroll .planner-recommendations{border:0;padding:0;position:static}.planner-sheet-scroll .planner-recommendations-heading{display:none}.planner-sheet-scroll .planner-recommendation-list{display:grid;overflow:visible}.planner-sheet-scroll .planner-recommendation-list article{width:100%}.planner-sheet-interests{margin:8px 0 12px}.planner-sheet-interests legend{margin-bottom:10px;font-size:14px;font-weight:600}.planner-template-button{width:100%;min-height:44px}.planner-sheet-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--card);flex-shrink:0;gap:10px;display:flex}.planner-sheet-footer>button{flex:1;min-width:0;min-height:44px}.planner-sheet-empty{text-align:center;color:var(--muted-foreground);padding:24px 8px;font-size:14px;line-height:1.7}.planner-sheet-empty p{margin-bottom:16px}.planner-name-input{border:1px solid var(--input);background:var(--card);width:100%;min-height:44px;color:var(--foreground);border-radius:10px;padding:10px 12px;font-size:16px}.planner-sheet-scroll .planner-hint{margin:12px 0}.planner-sheet-scroll>button{min-height:44px;margin:8px 0}.planner-saved-list{gap:8px;display:grid}.planner-saved-row>button:first-child{text-align:left;border-radius:12px 0 0 12px;flex:1;align-items:center;gap:12px;min-width:0;min-height:72px;padding:12px;display:flex}.planner-saved-row>button:hover{background:var(--secondary)}.planner-saved-list small,.planner-saved-list strong{display:block}.planner-saved-list strong{overflow-wrap:anywhere;font-size:14px}.planner-saved-list small{color:var(--muted-foreground);margin-top:4px;font-size:12px}@media (min-width:900px){.planner-map-first{height:calc(100dvh - 76px)}.planner-map-dock{width:calc(100% - 48px);max-width:420px;bottom:24px;left:24px;right:auto}.planner-map-stage .maplibregl-ctrl-bottom-right{bottom:0}}.planner-sheet .planner-themes{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.planner-sheet .sheet-close{min-width:44px;min-height:44px}.planner-stop-categories{gap:8px;padding:4px 0 8px;display:flex;overflow-x:auto}.planner-stop-categories button{border:1px solid var(--border);border-radius:24px;flex-shrink:0;min-height:44px;padding:10px 12px;font-size:12px}.planner-stop-categories [aria-pressed=true]{color:var(--primary);background:var(--secondary);border-color:var(--primary)}.planner-sheet>[data-slot=drawer-header]{padding-inline:52px}.discovery-app:has(.profile-hub) .discovery-footer{display:none}@media (max-width:899px){.discovery-main:has(.profile-hub,.checkin-hub,.inquiry-page){padding-bottom:calc(120px + env(safe-area-inset-bottom))}}.planner-map-dock[data-collapsed=true]{opacity:0;visibility:hidden;pointer-events:none;transition:transform .22s cubic-bezier(.3,0,1,1),opacity .15s,visibility 0s .22s;transform:translateY(calc(100% + 24px))}.planner-dock-title{padding-right:40px}.planner-dock-collapse{width:44px;height:44px;color:var(--primary);border-radius:10px;place-items:center;display:grid;position:absolute;top:0;right:6px}.planner-dock-collapse:hover{background:var(--secondary)}.planner-dock-expand{z-index:3;border:1px solid var(--border);background:var(--card);height:44px;color:var(--primary);border-radius:14px;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex;position:absolute;bottom:12px;right:12px;box-shadow:0 2px 8px #00000018}.planner-dock-expand small{background:var(--primary);min-width:20px;height:20px;color:var(--primary-foreground);border-radius:10px;place-items:center;padding:0 6px;font-size:12px;font-weight:600;display:grid}.planner-map-stage .maplibregl-ctrl-bottom-right{transition:bottom .24s cubic-bezier(.2,.8,.2,1)}.planner-map-first[data-dock-collapsed=true] .maplibregl-ctrl-bottom-right{bottom:0}@media (prefers-reduced-motion:reduce){.planner-map-dock,.planner-map-dock[data-collapsed=true],.planner-map-stage .maplibregl-ctrl-bottom-right{transition:none}}.vivu-map-marker{z-index:1}.vivu-map-marker:has([data-stop]){z-index:2}.vivu-map-marker:has(.map-place-card){z-index:3}.vivu-map-flag{text-align:left;cursor:pointer;min-width:44px;height:44px;padding:0 0 14px 2px;display:block;position:relative}.vivu-map-flag:disabled{cursor:default}.vivu-map-flag:before{border-radius:2px;width:3px;top:0;bottom:0;left:0}.vivu-map-flag:after,.vivu-map-flag:before{content:"";background:var(--primary);position:absolute}.vivu-map-flag:after{border:2px solid var(--card);border-radius:50%;width:9px;height:9px;bottom:-4px;left:-3px}.vivu-map-flag-label{border:1px solid var(--border);background:var(--card);white-space:nowrap;transform-origin:0;border-left:0;border-radius:0 9px 9px 0;align-items:center;gap:4px;height:30px;padding:0 8px 0 7px;transition:transform .16s cubic-bezier(.2,.8,.2,1);display:inline-flex;box-shadow:0 2px 6px #0b1c2126}.vivu-map-flag-label .place-category-badge{background:0 0;padding:0;font-size:12px;font-weight:600}.vivu-map-flag-label b{background:var(--primary-foreground);min-width:18px;height:18px;color:var(--primary);border-radius:9px;place-items:center;font-size:11px;font-weight:700;display:grid}.vivu-map-flag[data-open] .vivu-map-flag-label,.vivu-map-flag[data-stop] .vivu-map-flag-label{border-color:var(--primary);background:var(--primary)}.vivu-map-flag[data-open] .place-category-badge,.vivu-map-flag[data-stop] .place-category-badge{color:var(--primary-foreground)}.vivu-map-flag:focus-visible{outline:none}.vivu-map-flag:focus-visible .vivu-map-flag-label{outline:2px solid var(--ring);outline-offset:2px}.vivu-map-flag:active:not(:disabled) .vivu-map-flag-label{transform:scale(.96)}@media (hover:hover){.vivu-map-flag:hover:not(:disabled):not([data-stop]):not([data-open]) .vivu-map-flag-label{border-color:var(--primary)}}.places-map-canvas[data-far] .vivu-map-flag:not([data-stop]):not([data-open]) .place-category-badge span{display:none}.map-place-card{border:1px solid var(--border);background:var(--card);width:240px;max-width:calc(100vw - 32px);color:var(--foreground);transform-origin:bottom;border-radius:14px;animation:.18s cubic-bezier(.2,.8,.2,1) map-place-card-in;position:absolute;bottom:calc(100% + 8px);left:1px;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 24px #0b1c2133}@keyframes map-place-card-in{0%{opacity:0;transform:translate(-50%)translateY(6px)scale(.97)}}.map-place-card-photo{aspect-ratio:16/9;background:var(--secondary);position:relative}.map-place-card-photo img,.map-place-sheet-media img{object-fit:cover}.map-place-card-photo button{background:var(--card);width:32px;height:32px;color:var(--foreground);border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;right:6px;box-shadow:0 1px 4px #0b1c2133}.map-place-card-photo button:after{content:"";position:absolute;inset:-6px}.map-place-card-body{padding:10px 12px 12px}.map-place-card-body strong{overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.4;display:block}.map-place-card-body p{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;font-size:12px;line-height:1.5;display:flex}.map-place-card-actions{gap:6px;margin-top:10px;display:grid}.map-place-card-actions>*{border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.map-place-card-actions button{background:var(--primary);color:var(--primary-foreground)}.map-place-card-actions button:disabled,.map-place-sheet-footer>button:disabled{opacity:.5}.map-place-card-actions .map-place-card-details{background:var(--secondary);color:var(--primary)}@media (prefers-reduced-motion:reduce){.map-place-card{animation:none}.vivu-map-flag-label{transition:none}}.profile-editor{text-align:left;gap:16px;display:grid}.profile-editor-avatar{align-items:center;gap:14px;display:flex}.profile-editor-avatar .profile-hub-avatar{flex-shrink:0;width:72px;height:72px}.profile-editor-avatar>div{gap:2px;min-width:0;display:grid}.profile-editor-avatar strong{font-size:14px;font-weight:600}.profile-editor-avatar small{color:var(--muted-foreground);font-size:12px;line-height:1.5}.profile-editor-avatar-actions{gap:6px;margin-top:8px;display:flex}.profile-editor button{min-height:44px}.profile-editor-avatar-actions>button:last-child:not(:first-child){width:44px;color:var(--destructive);padding:0}.profile-editor form{gap:12px;display:grid}.profile-editor input{height:44px;font-size:16px}.profile-editor [role=alert]{color:var(--destructive);font-size:13px;line-height:1.5}.map-place-sheet{max-height:calc(min(88dvh,760px))}.map-place-sheet-scroll{overscroll-behavior:contain;text-align:left;min-height:0;overflow-y:auto}.map-place-sheet-media{position:relative}.map-place-sheet-media>ul{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;display:flex;overflow-x:auto}.map-place-sheet-media>ul::-webkit-scrollbar{display:none}.map-place-sheet-media li{aspect-ratio:16/10;background:var(--secondary);scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;max-height:36dvh;position:relative}.map-place-sheet-dots{background:#0b1c2199;border-radius:10px;gap:6px;padding:5px 8px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.map-place-sheet-dots span{background:#ffffff80;border-radius:50%;width:6px;height:6px;transition:width .18s,background-color .18s}.map-place-sheet-dots span[data-active]{background:#fff;border-radius:3px;width:16px}@media (prefers-reduced-motion:reduce){.map-place-sheet-dots span{transition:none}}.map-place-sheet-videos{border-top:1px solid var(--border);margin:20px 16px 0;padding-top:16px}.map-place-sheet-videos h3{font-size:16px;font-weight:600;line-height:1.5}.map-place-sheet-videos>ul{gap:12px;margin-top:10px;display:grid}.map-place-sheet-scroll>[data-slot=drawer-header]{text-align:left;padding:16px 16px 0}.map-place-sheet [data-slot=drawer-title]{overflow-wrap:anywhere;font-size:20px;font-weight:600;line-height:1.4}.map-place-sheet-post{color:var(--primary);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:13px;font-weight:500;line-height:18px;overflow:hidden}.map-place-sheet [data-slot=drawer-description]{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;font-size:13px;display:flex}.map-place-sheet-facts{border:1px solid var(--border);border-radius:14px;margin:14px 16px 0;display:grid}.map-place-sheet-facts>div{justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 14px;font-size:14px;line-height:1.5;display:flex}.map-place-sheet-facts>div+div,.map-place-sheet-footer,.map-place-sheet-reviews{border-top:1px solid var(--border)}.map-place-sheet-facts dt{color:var(--muted-foreground);flex-shrink:0;align-items:center;gap:8px;display:inline-flex}.map-place-sheet-facts dt svg{color:var(--primary)}.map-place-sheet-facts dd{text-align:right;overflow-wrap:anywhere;min-width:0;font-weight:500}.map-place-sheet-description{margin:14px 16px 0;font-size:15px;line-height:1.6}.map-place-sheet-highlights{flex-wrap:wrap;gap:6px;margin:12px 16px 0;display:flex}.map-place-sheet-highlights li{background:var(--secondary);border-radius:8px;padding:4px 10px;font-size:13px;line-height:1.5}.map-place-sheet-scroll>:last-child{margin-bottom:16px}.map-place-sheet-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));flex-shrink:0;gap:8px;display:grid}.map-place-sheet-footer>*{border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:48px;font-size:15px;font-weight:600;display:inline-flex}.map-place-sheet-footer>button{background:var(--primary);color:var(--primary-foreground)}.map-place-sheet-footer>a{background:var(--secondary);color:var(--primary)}.map-place-sheet .sheet-close{background:var(--card);width:36px;height:36px;color:var(--foreground);border-radius:50%;top:12px;right:12px;box-shadow:0 1px 4px #0b1c2133}.profile-editor{padding-top:16px}@media (min-width:640px){.map-place-sheet-footer{grid-auto-columns:1fr;grid-auto-flow:column}.map-place-sheet{width:560px;max-width:560px;margin-inline:auto}}.map-place-sheet-facts dd small{color:var(--muted-foreground);font-size:12px;font-weight:400;display:block}.map-place-sheet-reviews{margin:20px 16px 0;padding-top:16px}.map-place-sheet-reviews h3{font-size:16px;font-weight:600;line-height:1.5}.map-place-sheet-reviews>ul{gap:8px;margin-top:10px;display:grid}.map-place-sheet-reviews li{border:1px solid var(--border);border-radius:12px;padding:12px 14px}.map-place-sheet-reviews li>div{justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.map-place-sheet-reviews li strong{overflow-wrap:anywhere;min-width:0;font-weight:600}.map-place-sheet-reviews li span{flex-shrink:0;align-items:center;gap:4px;font-weight:500;display:inline-flex}.map-place-sheet-reviews li span svg{color:var(--primary)}.map-place-sheet-reviews li p{-webkit-line-clamp:4;-webkit-box-orient:vertical;margin-top:6px;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.map-place-sheet-reviews time,.map-place-sheet-reviews>p{color:var(--muted-foreground);margin-top:6px;font-size:13px;line-height:1.5;display:block}.map-place-sheet-reviews>a{min-height:44px;color:var(--primary);align-items:center;gap:6px;margin-top:4px;font-size:14px;font-weight:600;display:inline-flex}.offers-section[id]{scroll-margin-top:96px}.offer-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.offer-list>li{min-width:0}.offer-card{background:var(--card);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:16px;flex-direction:column;gap:8px;min-width:0;height:100%;padding:16px;font-size:14px;line-height:1.5;display:flex}.offer-card h3{margin:0;font-size:16px;font-weight:600;line-height:1.5}.offer-period,.offer-place{color:var(--muted-foreground);align-items:flex-start;gap:6px;font-size:13px;display:flex}.offer-period svg,.offer-place svg{color:var(--primary);flex-shrink:0;margin-top:2px}.offer-fallback{background:var(--secondary);color:var(--secondary-foreground);border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:12px}.offer-card summary{min-height:44px;color:var(--primary);cursor:pointer;border-radius:8px;align-items:center;font-weight:500;display:inline-flex}.offer-card summary:focus-visible,.offers-error button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.offer-body{white-space:pre-line;gap:8px;padding-bottom:4px;display:grid}.offer-body h4{margin:4px 0 0;font-size:14px;font-weight:600}.offers-error{background:var(--card);border:1px solid var(--border);color:var(--muted-foreground);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin:24px 0;padding:12px 16px;font-size:14px;display:flex}.offers-error button{min-height:44px;color:var(--primary);border-radius:8px;align-items:center;gap:6px;padding:0 8px;font-weight:600;display:inline-flex}.offer-voucher-claim:disabled,.offers-error button:disabled{opacity:.6}.offer-voucher{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding-top:4px;display:flex}.offer-voucher-left{color:var(--foreground);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.offer-voucher-left svg{color:var(--primary);flex-shrink:0}.offer-voucher-left[data-state=sold-out],.offer-voucher-left[data-state=sold-out] svg{color:var(--muted-foreground)}.offer-voucher-claim{background:var(--primary);min-height:44px;color:var(--primary-foreground);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;padding:0 16px;font-size:14px;font-weight:600;transition:transform .12s ease-out,background-color .15s;display:inline-flex}.offer-voucher-claim:active:not(:disabled),.voucher-refresh:active:not(:disabled),.voucher-row:active{transform:scale(.98)}.offer-voucher-claim:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (hover:hover) and (pointer:fine){.offer-voucher-claim:not(:disabled):hover{background:var(--primary-hover)}}.voucher-list{gap:20px}.voucher-group,.voucher-list{flex-direction:column;display:flex}.voucher-group{gap:10px;min-width:0}.voucher-group h2{align-items:center;gap:8px;font-size:15px;font-weight:600;line-height:1.5;display:flex}.voucher-group h2 span{background:var(--secondary);min-width:22px;height:22px;color:var(--secondary-foreground);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 6px;font-size:12px;line-height:22px}.voucher-anchor{scroll-margin-top:88px}.voucher-group ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.voucher-row{border:1px solid var(--border);background:var(--card);width:100%;min-height:44px;color:var(--foreground);text-align:left;overflow-wrap:anywhere;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:14px 16px;font-size:14px;line-height:1.5;transition:transform .12s ease-out,background-color .15s;display:grid}.voucher-row:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.voucher-row-place{color:var(--muted-foreground);grid-column:1;align-items:center;gap:6px;font-size:13px;display:flex}.voucher-row-place svg,.voucher-row-until svg{color:var(--primary);flex-shrink:0}.voucher-row strong{grid-column:1;font-size:15px;font-weight:600}.voucher-row-until{color:var(--muted-foreground);font-variant-numeric:tabular-nums;grid-column:1;align-items:center;gap:6px;font-size:13px;display:flex}.voucher-row .voucher-chip{grid-area:1/2/span 3}.voucher-chip{white-space:nowrap;background:var(--secondary);color:var(--secondary-foreground);border-radius:999px;align-self:center;padding:3px 10px;font-size:12px;font-weight:600}.voucher-chip[data-state=ready]{background:var(--success-background);color:var(--success)}.voucher-sheet-body{width:100%;max-width:560px;padding:18px 20px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;gap:18px;min-height:0;margin-inline:auto;font-size:14px;line-height:1.6;display:grid;overflow-y:auto}.voucher-sheet>[data-slot=drawer-header]{padding-inline:20px 64px}.voucher-sheet .sheet-close{min-width:44px;min-height:44px}.voucher-sheet-place{width:fit-content;min-height:44px;color:var(--primary);border-radius:8px;align-items:center;gap:6px;font-weight:600;display:inline-flex}.voucher-sheet-place:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.voucher-code-block{border:1px solid var(--border);background:var(--card);text-align:center;border-radius:16px;justify-items:center;gap:10px;padding:16px;display:grid}.voucher-code-block>small{color:var(--muted-foreground);font-size:13px}.voucher-code{letter-spacing:.08em;font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all;font-size:calc(clamp(26px,9vw,34px));font-weight:700}.voucher-code[data-state=expired],.voucher-code[data-state=redeemed]{color:var(--muted-foreground);text-decoration:line-through;text-decoration-thickness:2px}.voucher-qr{justify-items:center;gap:8px;width:100%;display:grid}.voucher-qr figure{aspect-ratio:1;background:#fff;border-radius:12px;place-items:center;width:min(232px,100%);padding:12px;display:grid}.voucher-qr img{width:100%;height:100%}.voucher-qr[data-expired=true] figure{opacity:.25}.voucher-qr p{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:13px}.voucher-qr-placeholder{aspect-ratio:1;border:1px dashed var(--input);width:min(232px,100%);color:var(--muted-foreground);border-radius:12px;place-items:center;display:grid}.voucher-refresh{border:1px solid var(--primary);min-height:44px;color:var(--primary);border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:600;transition:transform .12s ease-out;display:inline-flex}.checkin-card button:disabled,.voucher-refresh:disabled{opacity:.6}.voucher-refresh:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.voucher-note{background:var(--secondary);color:var(--secondary-foreground);border-radius:14px;padding:12px 14px;font-size:14px}.voucher-sheet-section h3{margin:0 0 4px;font-size:14px;font-weight:600}.voucher-sheet-section p{white-space:pre-line;color:var(--muted-foreground)}.voucher-sheet-meta{color:var(--muted-foreground);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:13px;display:flex}.voucher-sheet-meta svg{color:var(--primary);flex-shrink:0}@media (hover:hover) and (pointer:fine){.voucher-row:hover{background:var(--secondary)}}@media (prefers-reduced-motion:reduce){.offer-voucher-claim,.voucher-refresh,.voucher-row{transition:none}.offer-voucher-claim:active:not(:disabled),.voucher-refresh:active:not(:disabled),.voucher-row:active{transform:none}}.detail-actions{gap:8px;max-width:420px;display:flex}.detail-action{border:1px solid var(--border);background:var(--card);min-height:48px;color:var(--primary);border-radius:12px;flex:0 0 48px;justify-content:center;align-items:center;gap:8px;font-size:15px;font-weight:600;line-height:1.3;transition:transform .12s ease-out,background-color .15s;display:inline-flex}.detail-action[data-main]{border-color:var(--primary);background:var(--primary);min-width:0;color:var(--primary-foreground);flex:1 1 0;padding:0 16px}.detail-action[data-active]{border-color:var(--primary);background:var(--secondary);color:var(--primary)}.checkin-button:active,.detail-action:active{transform:scale(.97)}.detail-action:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (hover:hover){.detail-action:hover{background:var(--secondary)}.detail-action[data-main]:not([data-active]):hover{border-color:var(--primary-hover);background:var(--primary-hover)}}@media (prefers-reduced-motion:reduce){.detail-action{transition:none}}.checkin-card{border:1px solid var(--border);background:var(--card);border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;max-width:420px;margin-top:12px;padding:8px 8px 8px 14px;display:grid}.checkin-copy strong{font-size:15px;font-weight:600;line-height:1.4;display:block}.checkin-copy small{color:var(--muted-foreground);margin-top:2px;font-size:13px;line-height:1.4;display:block}.checkin-button,.checkin-error button,.checkin-undo{min-height:44px;color:var(--primary);white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:6px;font-size:15px;font-weight:600;line-height:1.3;display:inline-flex}.checkin-button{border:1px solid var(--primary);padding:0 14px;transition:transform .12s ease-out,background-color .15s}.checkin-error button,.checkin-undo{padding:0 10px}.checkin-card button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.checkin-error{color:var(--destructive);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:0 8px;font-size:13px;line-height:1.4;display:flex}@media (hover:hover){.checkin-card button:not(:disabled):hover{background:var(--secondary)}}@media (prefers-reduced-motion:reduce){.checkin-button{transition:none}}.checkin-sheet>[data-slot=drawer-header]{padding-inline:52px}.checkin-sheet .sheet-close{min-width:44px;min-height:44px}.checkin-sheet-body{width:100%;max-width:560px;padding:16px 16px calc(20px + env(safe-area-inset-bottom));overscroll-behavior:contain;min-height:0;margin-inline:auto;overflow-y:auto}.checkin-options{gap:8px;display:grid}.checkin-options button{border:1px solid var(--border);background:var(--card);text-align:left;border-radius:16px;align-items:center;gap:12px;width:100%;min-height:68px;padding:10px 12px;transition:transform .12s ease-out,background-color .15s;display:flex}.checkin-options button:active:not(:disabled),.checkin-primary:active{transform:scale(.98)}.checkin-options button>span:first-child{background:var(--secondary);width:44px;height:44px;color:var(--primary);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.checkin-options button>span:nth-child(2){flex:1;min-width:0}.checkin-options strong,.checkin-step h3{font-size:16px;font-weight:600;line-height:1.4;display:block}.checkin-options small{margin-top:2px;font-size:13px;line-height:1.45;display:block}.checkin-back,.checkin-note,.checkin-options button:disabled strong,.checkin-options button:disabled>span:first-child,.checkin-options button>svg,.checkin-options small{color:var(--muted-foreground)}.checkin-options button>svg{flex-shrink:0}.checkin-step{gap:12px;display:grid}.checkin-back{border-radius:12px;justify-self:start;align-items:center;gap:6px;min-height:44px;margin:-8px 0 -4px -8px;padding:0 8px;font-size:14px;font-weight:600;display:inline-flex}.checkin-back:disabled{opacity:.5}.checkin-note{font-size:13px;line-height:1.5}.checkin-examples{gap:2px;display:grid}.checkin-examples li{align-items:center;gap:10px;min-height:36px;font-size:15px;line-height:1.4;display:flex}.checkin-examples svg,.checkin-guidance svg{color:var(--primary);flex-shrink:0}.checkin-scanner{aspect-ratio:4/3;background:#000;border-radius:16px;overflow:hidden}.checkin-scanner video{object-fit:cover;width:100%;height:100%}.checkin-guidance{padding:12px;line-height:1.5}.checkin-guidance,.checkin-progress{background:var(--secondary);border-radius:12px;align-items:center;gap:12px;font-size:15px;display:flex}.checkin-progress{min-height:56px;padding:8px 12px;font-weight:600}.checkin-progress img{object-fit:cover;border-radius:8px;flex-shrink:0;width:48px;height:48px}.checkin-alert{border:1px solid color-mix(in oklab,var(--destructive) 35%,transparent);color:var(--destructive);border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.5}.checkin-step-actions{gap:4px;display:grid}.checkin-primary,.checkin-secondary{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 16px;font-size:15px;font-weight:600;display:flex}.checkin-primary{background:var(--primary);color:var(--primary-foreground);transition:transform .12s ease-out}.checkin-secondary{color:var(--primary)}.checkin-sheet button:focus-visible,.checkin-sheet label:focus-within{outline:2px solid var(--ring);outline-offset:2px}@media (hover:hover){.checkin-back:not(:disabled):hover,.checkin-options button:not(:disabled):hover,.checkin-secondary:hover{background:var(--secondary)}}@media (prefers-reduced-motion:reduce){.checkin-options button,.checkin-primary{transition:none}}.planner-saved-confirm,.planner-saved-row{border:1px solid var(--border);border-radius:12px}.planner-saved-row{align-items:stretch;display:flex}.planner-saved-delete{border-left:1px solid var(--border);color:var(--muted-foreground);border-radius:0 12px 12px 0;flex:0 0 52px;place-items:center;display:grid}.planner-saved-confirm p[role=alert],.planner-saved-delete:hover{color:var(--destructive)}.planner-saved-confirm{text-align:left;gap:12px;min-height:72px;padding:12px;display:grid}.planner-saved-confirm p{overflow-wrap:anywhere;font-size:14px;font-weight:500;line-height:1.5}.planner-saved-confirm>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.planner-saved-confirm button{min-height:44px}.checkin-hub{gap:16px;max-width:560px;display:grid}.checkin-hub>h1{font-size:28px;font-weight:600;line-height:1.3}.checkin-hub>p{color:var(--muted-foreground);margin-top:-8px;font-size:15px;line-height:1.5}.checkin-hub-card{border:1px solid var(--border);background:var(--card);border-radius:16px;gap:12px;padding:16px;display:grid}.checkin-hub-heading{align-items:flex-start;gap:12px;display:flex}.checkin-hub-heading>span{background:var(--secondary);width:40px;height:40px;color:var(--primary);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.checkin-hub-heading h2{font-size:16px;font-weight:600;line-height:1.5}.checkin-hub-card>p,.checkin-hub-heading p{color:var(--muted-foreground);font-size:13px;line-height:1.5}.checkin-hub-card>p[role=alert]{color:var(--destructive)}.checkin-hub-scan{background:var(--primary);min-height:48px;color:var(--primary-foreground);border-radius:12px;font-size:15px;font-weight:600}.checkin-hub .map-search{margin-bottom:0}.discovery-app:has(.checkin-hub) .discovery-footer{display:none}.events-section[id]{scroll-margin-top:96px}.event-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.event-list>li{min-width:0}.event-card{background:var(--card);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:16px;align-items:flex-start;gap:12px;min-width:0;height:100%;padding:16px;font-size:14px;line-height:1.5;display:flex}.event-date{background:var(--secondary);width:52px;min-height:56px;color:var(--secondary-foreground);text-align:center;border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;padding:6px 4px;font-size:12px;line-height:1.3;display:flex}.event-date strong{font-size:20px;font-weight:600;line-height:1.2}.event-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.event-card h3{margin:0;font-size:16px;font-weight:600;line-height:1.5}.event-card[data-label=cancelled] h3{color:var(--muted-foreground);text-decoration:line-through}.event-labels{flex-wrap:wrap;gap:6px;display:flex}.event-labels span{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.event-labels span[data-label=cancelled]{background:var(--danger-background);color:var(--destructive)}.event-labels span[data-label=rescheduled]{background:var(--warning-background);color:var(--warning)}.event-labels span[data-label=ongoing]{background:var(--success-background);color:var(--success)}.event-meta,.event-place{color:var(--muted-foreground);align-items:flex-start;gap:6px;font-size:13px;display:flex}.event-meta svg,.event-place svg{color:var(--primary);flex-shrink:0;margin-top:2px}.event-place{min-height:44px;color:var(--primary);border-radius:8px;align-self:flex-start;align-items:center;font-weight:600}.event-place svg{margin-top:0}.event-title-link{border-radius:6px}.event-detail-link,.event-title-link:hover,.events-see-all{color:var(--primary)}.event-detail-link{border-radius:8px;align-self:flex-start;align-items:center;gap:5px;min-height:44px;font-weight:500;display:inline-flex}.event-calendar-action:focus-visible,.event-detail-link:focus-visible,.event-place:focus-visible,.event-title-link:focus-visible,.events-see-all:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.event-body{white-space:pre-line;padding-bottom:4px}.events-see-all{border-radius:8px;align-items:center;gap:5px;min-height:44px;margin-top:8px;font-size:14px;font-weight:600;display:inline-flex}.event-day{margin-bottom:24px}.event-day h2{margin-bottom:12px;font-size:16px;font-weight:600;line-height:1.5}.event-day h2:first-letter,.event-detail-when strong:first-letter{text-transform:uppercase}.events-loading{gap:12px;display:grid}.events-loading>div{height:132px}.events-load-more{justify-content:center;margin:4px 0 24px;display:flex}.events-load-more button{border:1px solid var(--border);background:var(--card);min-height:44px;color:var(--foreground);border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex}.events-load-more button:disabled{color:var(--muted-foreground)}.event-detail{overflow-wrap:anywhere;max-width:720px;margin:0 auto 40px;font-size:15px;line-height:1.6}.event-detail-header{flex-direction:column;gap:10px;display:flex}.event-detail h1{text-wrap:balance;font-size:calc(clamp(22px,6.4vw,30px));font-weight:600;line-height:1.3}.event-detail[data-label=cancelled] h1{color:var(--muted-foreground);text-decoration:line-through}.event-labels span[data-label=ended]{background:var(--secondary);color:var(--secondary-foreground)}.event-detail-when{align-items:flex-start;gap:8px;display:flex}.event-detail-when svg{color:var(--primary);flex-shrink:0;margin-top:3px}.event-calendar,.event-detail-when span{flex-direction:column;display:flex}.event-detail-notice strong,.event-detail-when strong{font-weight:600}.event-calendar p,.event-detail-source,.event-detail-when small{color:var(--muted-foreground);font-size:13px}.event-detail-notice{background:var(--secondary);color:var(--secondary-foreground);border-radius:12px;margin-top:16px;padding:12px 14px;font-size:14px}.event-detail-notice[data-tone=danger]{background:var(--danger-background);color:var(--destructive)}.event-detail-notice[data-tone=warning]{background:var(--warning-background);color:var(--warning)}.event-detail-notice .events-see-all{margin-top:4px}.event-calendar{gap:10px;margin-top:20px}.event-calendar h2{font-size:16px;font-weight:600}.event-calendar-actions{gap:8px;display:grid}@media (min-width:480px){.event-calendar-actions{grid-template-columns:repeat(2,max-content)}}.event-calendar-action{border:1px solid var(--border);background:var(--card);min-height:48px;color:var(--foreground);border-radius:11px;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex}.event-calendar-action:hover{background:var(--secondary)}.event-detail .event-place{margin-bottom:4px;font-size:15px}.event-detail .event-meta{margin-bottom:12px;font-size:14px}.event-detail .event-body{font-size:15px}.event-detail-source{margin-top:16px}.places-map-stage{position:relative}.vivu-map-marker[hidden]{display:none}.maplibregl-ctrl-attrib.maplibregl-compact{min-height:24px}.maplibregl-ctrl-attrib-button{min-width:24px;min-height:24px}.places-map-stage .maplibregl-ctrl-attrib{background:var(--card);color:var(--foreground)}.places-map-stage .maplibregl-ctrl-attrib a{color:inherit}.places-map-stage .maplibregl-ctrl-group{border:1px solid var(--border);background:var(--card)}.places-map-stage .maplibregl-ctrl-group button+button{border-top-color:var(--border)}.dark .vivu-theme:not([data-appearance=light]) .maplibregl-ctrl-icon,.vivu-theme[data-appearance=dark] .maplibregl-ctrl-icon{filter:invert()hue-rotate(180deg)}.map-locate-note{border:1px solid var(--border);background:var(--card);max-width:calc(min(260px,100vw - 72px));color:var(--foreground);pointer-events:auto;border-radius:10px;padding:8px 10px;font-size:12px;line-height:1.5}.map-user-dot{border:3px solid var(--card);background:#2b7fff;border-radius:50%;width:18px;height:18px;display:block;box-shadow:0 0 0 6px #2b7fff33}.map-fallback{border:1px solid var(--border);background:var(--card);border-radius:16px;gap:10px;padding:14px 16px;font-size:14px;display:grid}.map-fallback-actions{flex-wrap:wrap;gap:8px;display:flex}.map-fallback-actions :is(button,a){border:1px solid var(--border);min-height:44px;color:var(--primary);border-radius:12px;align-items:center;gap:6px;padding:0 14px;font-weight:600;display:inline-flex}.map-fallback-list{gap:2px;display:grid}.map-fallback-list a{min-height:44px;color:var(--foreground);align-items:flex-start;gap:10px;padding:8px 4px;display:flex}.map-fallback-list svg{color:var(--primary);flex-shrink:0;margin-top:2px}.map-fallback-list span{min-width:0;display:grid}.map-fallback-list small{color:var(--muted-foreground);font-size:12px}.place-location{border:1px solid var(--border);background:var(--card);border-radius:16px;gap:12px;padding:14px 16px;display:grid}.place-location-address{align-items:flex-start;gap:10px;margin:0;display:flex}.place-location-address svg{color:var(--primary);flex-shrink:0;margin-top:2px}.place-location-address span{overflow-wrap:anywhere;gap:2px;min-width:0;display:grid}.place-location-address strong{font-size:15px;font-weight:600;line-height:1.5}.place-location-address small{color:var(--muted-foreground);font-size:13px;line-height:1.5}.place-location-actions{flex-wrap:wrap;gap:8px;display:flex}.map-card-action{border:1px solid var(--border);background:var(--card);min-height:44px;color:var(--primary);white-space:nowrap;border-radius:12px;flex:140px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;transition:background-color .14s ease-out,transform .12s ease-out;display:inline-flex}.map-card-action-primary{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.map-card-action:active{transform:scale(.97)}.map-card-action:focus-visible{outline:2px solid var(--ring);outline-offset:2px}@media (hover:hover){.map-card-action:hover{border-color:var(--primary)}.map-card-action-primary:hover{background:var(--primary-hover,var(--primary))}}.detail-map-sheet{max-height:92dvh}.detail-map-head{padding-right:60px}.detail-map-close{width:44px;height:44px;color:var(--foreground);border-radius:12px;place-items:center;display:grid;position:absolute;top:12px;right:12px}.detail-map-body{padding:12px 16px 0}.detail-map-foot{padding:12px 16px calc(12px + env(safe-area-inset-bottom));display:flex}@media (prefers-reduced-motion:reduce){.map-card-action{transition:none}.map-card-action:active{transform:none}}.travel-mode-chips{flex-wrap:wrap;gap:8px;display:flex}.travel-mode-chips button{border:1px solid var(--input);background:var(--card);min-height:44px;color:var(--foreground);border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;transition:background-color .14s ease-out,color .14s ease-out,border-color .14s ease-out;display:inline-flex}.travel-mode-chips button[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.travel-mode-chips button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.detail-map-foot{flex-direction:column;gap:10px}.detail-map-foot .map-card-action{flex:none}.detail-map-body .places-map-canvas{height:calc(min(46dvh,420px));min-height:240px}.route-sheet-note,.route-sheet-summary p,.route-sheet-summary small{color:var(--muted-foreground);margin:0;font-size:13px;line-height:1.5}.planner-option,.route-sheet-summary{gap:8px;display:grid}.route-sheet-summary strong{font-size:18px;font-weight:600}.map-route-summary .travel-mode-chips{margin:4px 0}.planner-option-label{margin:0;font-size:14px;font-weight:600}@media (prefers-reduced-motion:reduce){.travel-mode-chips button{transition:none}}.map-route-stops li:has(.map-stop-stay){flex-wrap:wrap}.map-stop-stay{color:var(--muted-foreground);flex-basis:100%;align-items:center;gap:4px;padding-left:28px;font-size:13px;display:flex}.map-stop-stay>span{font-variant-numeric:tabular-nums;margin-right:auto}.planner-total{color:var(--foreground);font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:13px;font-weight:600}.planner-optimize{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.planner-optimize>button{min-height:44px}.planner-optimize .planner-hint{flex-basis:100%;margin:0}.planner-share{margin-top:8px}.planner-share-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:44px;font-size:14px;display:flex}.itinerary-copy-error{color:var(--destructive);margin-top:10px;font-size:13px}.shared-itinerary{gap:16px;max-width:760px;margin:0 auto;padding:16px 0 32px;display:grid}.shared-itinerary header{gap:4px;display:grid}.shared-itinerary h1{font-size:26px;line-height:1.3}.shared-itinerary header p{color:var(--muted-foreground);margin:0;font-size:14px}.shared-itinerary header .planner-total{color:var(--foreground)}.shared-itinerary-stops{gap:12px;display:grid}.shared-itinerary-stops li{align-items:flex-start;gap:12px;display:flex}.shared-itinerary-stops li>div{gap:2px;min-width:0;display:grid}.shared-itinerary-stops a{min-height:32px;color:var(--foreground);align-items:center;display:inline-flex}.shared-itinerary-stops small{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:13px;display:flex}.shared-itinerary-copy{min-height:48px}.shared-itinerary-empty{justify-items:start;padding-top:40px}.shared-itinerary-empty a{min-height:44px;color:var(--primary);align-items:center;display:inline-flex}.content-article{max-width:760px;margin:0 auto}.content-header{margin-bottom:20px}.content-kicker,.content-label{color:var(--primary);margin-bottom:8px;font-size:12px;font-weight:600}.content-header h1{overflow-wrap:anywhere;font-size:28px;font-weight:600;line-height:1.25}.sponsored-label{background:var(--secondary);width:fit-content;color:var(--foreground);border-radius:6px;margin-top:8px;padding:3px 8px;line-height:1.4}.content-lede{max-width:70ch;font-size:15px;line-height:1.7}.content-lede,.content-meta{color:var(--muted-foreground);margin-top:12px}.content-meta{flex-wrap:wrap;gap:4px 12px;font-size:13px;display:flex}.content-meta>*+:before{content:"·";margin-right:12px}.content-meta>*{white-space:nowrap}.content-cover{margin:0 0 24px}.content-cover-photo{aspect-ratio:16/9;background:var(--secondary);border-radius:16px;position:relative;overflow:hidden}.collection-cover img,.collection-place-photo img,.content-cover-photo img,.guide-card-photo img,.sponsored-card-photo img{object-fit:cover}.content-cover-wide .content-cover-photo{aspect-ratio:2}.content-cover figcaption{color:var(--muted-foreground);margin-top:6px;font-size:11px}.content-cover figcaption a{padding-block:4px;display:inline-block}.guide-toc{border:1px solid var(--border);background:var(--card);border-radius:12px;margin-bottom:28px;padding:14px 16px}.guide-toc h2{margin-bottom:4px;font-size:13px;font-weight:600}.guide-toc a{min-height:44px;color:var(--primary);align-items:center;font-size:14px;display:flex}.guide-toc li[data-level="3"] a{padding-left:16px;font-size:13px}.guide-body{overflow-wrap:break-word;max-width:70ch;font-size:16px;line-height:1.7}.guide-body :is(h2,h3){scroll-margin-top:96px;font-weight:600;line-height:1.35}.guide-body h2{margin:32px 0 10px;font-size:21px}.guide-body h3{margin:24px 0 8px;font-size:17px}.guide-body blockquote,.guide-body ol,.guide-body p,.guide-body ul{margin-bottom:14px}.guide-body ul{padding-left:22px;list-style:outside}.guide-body ol{padding-left:22px;list-style:decimal}.guide-body li+li{margin-top:4px}.guide-body a{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.guide-body blockquote{border-left:3px solid var(--border);color:var(--muted-foreground);padding-left:14px}.guide-body hr{border-color:var(--border);margin:24px 0}.content-section{margin-top:36px}.content-section>h2{margin-bottom:16px;font-size:20px;font-weight:600}.content-sources{gap:2px;font-size:13px;display:grid}.content-sources a{min-height:44px;color:var(--primary);overflow-wrap:anywhere;align-items:center;display:inline-flex}.collection-items{gap:16px;display:grid}.collection-reason{border-left:2px solid var(--primary);margin-top:8px;padding-left:12px;font-size:14px;line-height:1.6}.collection-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:24px;display:flex}.collection-actions>a{min-height:44px;color:var(--primary);align-items:center;gap:8px;font-size:14px;font-weight:500;display:inline-flex}.collection-actions .itinerary-copy-error{flex-basis:100%}.content-topics{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-16px;padding-inline:16px;overflow-x:auto}.content-topics button{flex-shrink:0;transition:background-color .14s,color .14s,border-color .14s}.guide-list{gap:8px;display:grid}.guide-index .guide-list{margin-top:8px}.guide-card{border-bottom:1px solid var(--border);gap:14px;min-width:0;padding:12px 0;display:flex}.guide-card-photo{aspect-ratio:4/3;background:var(--secondary);border-radius:10px;flex-shrink:0;align-self:flex-start;width:88px;position:relative;overflow:hidden}.guide-card-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.guide-card-copy small{color:var(--primary);font-size:12px;font-weight:500}.guide-card-copy strong{overflow-wrap:anywhere;font-size:16px;font-weight:600;line-height:1.35}.guide-card-copy .sponsored-label{margin-top:0}.guide-card-excerpt{-webkit-line-clamp:2;color:var(--muted-foreground);-webkit-box-orient:vertical;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.guide-card-copy time{color:var(--muted-foreground);font-size:12px}.guide-card-featured{flex-direction:column;padding-top:0}.guide-card-featured .guide-card-photo{aspect-ratio:16/9;border-radius:14px;width:100%}.guide-card-featured strong{font-size:20px}.guide-card:hover strong{color:var(--primary)}.content-preview-banner{border:1px solid var(--border);background:var(--secondary);border-radius:10px;align-items:center;gap:8px;max-width:760px;margin:0 auto 20px;padding:10px 14px;font-size:13px;display:flex}.content-preview-status{min-height:320px;color:var(--muted-foreground);font-size:14px}.discovery-empty>h1{font-size:20px;font-weight:600}@media (min-width:900px){.content-header h1{font-size:36px}.guide-index .content-topics,.guide-index .guide-list,.guide-index .view-heading,.guide-index>section{max-width:760px}.guide-card-featured .guide-card-photo{aspect-ratio:2}.content-topics{flex-wrap:wrap;margin-inline:0;padding-inline:0}}@media (prefers-reduced-motion:reduce){.content-topics button{transition:none}}.sponsored-slot[data-slot=search_inline]{grid-column:1/-1;min-width:0}.sponsored-slot[data-slot=home_feature]{margin-top:24px}.sponsored-card{background:var(--card);border:1px solid var(--border);border-radius:15px;grid-template-columns:112px minmax(0,1fr);gap:12px;min-width:0;padding:10px;display:grid;position:relative}.sponsored-card-photo{background:var(--secondary);border-radius:11px;min-height:128px;position:relative;overflow:hidden}.sponsored-card-copy{overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;min-width:0;display:flex}.sponsored-card-copy:only-child{grid-column:1/-1}.sponsored-label{border:1px solid var(--border);color:var(--muted-foreground);border-radius:999px;align-items:center;padding:1px 8px;font-size:12px;font-weight:500;line-height:18px;display:inline-flex}.sponsored-card h3{margin:6px 0 4px;font-size:16px;font-weight:600;line-height:1.4}.sponsored-card-body{-webkit-line-clamp:2;color:var(--muted-foreground);-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.sponsored-card-place{margin-top:4px;font-size:13px;font-weight:500}.sponsored-card-cta{min-height:44px;color:var(--primary);border-radius:8px;align-items:center;gap:5px;margin-top:auto;font-size:14px;font-weight:500;display:inline-flex}.sponsored-card-cta:after{content:"";z-index:1;border-radius:15px;position:absolute;inset:0}.partner-booking-action:focus-visible,.sponsored-card-cta:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.partner-booking .sponsored-label{margin-bottom:12px}.partner-booking-action{text-align:center;gap:8px;width:100%;padding:8px 18px;font-size:15px;transition:background-color .12s,transform .12s}.partner-booking-action:active{transform:scale(.98)}.partner-booking-note{color:var(--muted-foreground);text-wrap:pretty;margin-top:10px;font-size:13px;line-height:1.5}@media (min-width:640px){.sponsored-card{grid-template-columns:200px minmax(0,1fr);gap:16px}.partner-booking-action{width:auto;min-width:220px}}@media (prefers-reduced-motion:reduce){.partner-booking-action:active{transform:none}}.saved-tabs{border:1px solid var(--border);background:var(--card);border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;max-width:360px;margin-bottom:16px;padding:4px;display:grid}.saved-tabs a{min-height:44px;color:var(--muted-foreground);border-radius:8px;justify-content:center;align-items:center;font-size:14px;font-weight:600;transition:background-color .15s;display:flex}.saved-tabs a[aria-current=page]{background:var(--secondary);color:var(--foreground)}.saved-tabs a:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.user-collections{gap:16px;max-width:760px;margin:0 auto;padding-bottom:32px;display:grid}.user-collections .back-link{margin-bottom:0}.user-collections-heading{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.user-collections-heading>div{gap:4px;min-width:0;display:grid}.user-collections-heading h1{overflow-wrap:anywhere;font-size:26px;line-height:1.3}.user-collections-heading p{color:var(--muted-foreground);font-size:14px;line-height:1.5}.shared-itinerary .collection-note,.user-collections .collection-note{color:var(--foreground);white-space:pre-line;overflow-wrap:anywhere}.collection-create,.collection-menu-trigger{border:1px solid var(--border);background:var(--card);min-width:44px;min-height:44px;color:var(--primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:600;transition:transform .12s ease-out,background-color .15s;display:inline-flex}.collection-create{padding:0 12px}.collection-grid{gap:8px;display:grid}.collection-card{border:1px solid var(--border);background:var(--card);min-height:72px;color:var(--muted-foreground);border-radius:14px;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 14px 8px 8px;transition:transform .12s ease-out,background-color .15s;display:grid}.collection-cover,.collection-place-photo{background:var(--secondary);color:var(--muted-foreground);border-radius:10px;place-items:center;display:grid;position:relative;overflow:hidden}.collection-cover{width:56px;height:56px}.collection-card-text,.collection-place-text{gap:2px;min-width:0;display:grid}.collection-card-text strong,.collection-place-text strong{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.collection-card-text small,.collection-place-text small{color:var(--muted-foreground);font-size:13px}.collection-places{border:1px solid var(--border);background:var(--card);border-radius:14px;display:grid}.collection-places li{align-items:center;gap:4px;min-width:0;padding:6px 6px 6px 8px;display:flex}.collection-places li+li{border-top:1px solid var(--border)}.collection-place{border-radius:10px;flex:auto;align-items:center;gap:12px;min-width:0;min-height:56px;display:flex}.collection-place-photo{flex:0 0 48px;width:48px;height:48px}.collection-place-actions{flex-shrink:0;display:flex}.collection-place-actions button{width:44px;height:44px;color:var(--muted-foreground);border-radius:10px;place-items:center;transition:transform .12s ease-out,background-color .15s;display:grid}.collection-place-actions button:disabled{opacity:.35;cursor:default}.collection-card:active,.collection-create:active,.collection-menu-trigger:active,.collection-place-actions button:not(:disabled):active,.save-to-row:active{transform:scale(.97)}.collection-card:focus-visible,.collection-create:focus-visible,.collection-menu-trigger:focus-visible,.collection-place-actions button:focus-visible,.collection-place:focus-visible,.save-to-row:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.collection-menu{min-width:200px}.collection-menu [data-slot=dropdown-menu-item]{gap:10px;min-height:44px;padding:0 10px}.collection-form{gap:16px;display:grid}.collection-form [data-slot=form-item]{gap:6px;display:grid}.collection-field-label{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.collection-field-label small{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:12px}.collection-form input,.save-to-new input{min-height:44px;font-size:16px}.collection-form textarea{font-size:16px}.collection-field-error{color:var(--destructive);font-size:13px}.collection-share-body{gap:12px;display:grid}.collection-share-row{border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:0 14px;font-size:15px;font-weight:500;display:flex}.collection-share-row>span{gap:2px;display:grid}.collection-share-row small{color:var(--muted-foreground);font-size:13px;font-weight:400}.collection-share-link{gap:8px;display:grid}.collection-share-link output{background:var(--secondary);color:var(--foreground);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.5;display:block}.collection-share-hint{color:var(--muted-foreground);font-size:13px;line-height:1.5}.save-to-body{gap:16px;display:grid}.save-to-list,.save-to-loading{gap:6px;display:grid}.save-to-row{border:1px solid var(--border);width:100%;min-height:52px;color:var(--muted-foreground);text-align:left;border-radius:12px;grid-template-columns:20px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:6px 12px;transition:transform .12s ease-out,background-color .15s,border-color .15s;display:grid}.save-to-row[aria-pressed=true]{border-color:var(--primary);color:var(--primary)}.save-to-row>span:nth-child(2){min-width:0;display:grid}.save-to-row strong{color:var(--foreground);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.save-to-row small{color:var(--muted-foreground);font-size:13px}.save-to-check{border:1.5px solid var(--input);border-radius:6px;place-items:center;width:22px;height:22px;display:grid}.save-to-row[aria-pressed=true] .save-to-check{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.save-to-empty{color:var(--muted-foreground);font-size:14px}.save-to-retry{min-height:44px;color:var(--primary);font-weight:600}.save-to-new{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-top:12px;display:grid}.save-to-new .checkin-primary{min-height:44px}.save-to-new .checkin-primary:disabled{opacity:.5}@media (hover:hover){.collection-card:hover,.collection-create:hover,.collection-menu-trigger:hover,.collection-place-actions button:not(:disabled):hover,.save-to-row:hover,.saved-tabs a:not([aria-current=page]):hover{background:var(--secondary)}}@media (max-width:430px){.detail-actions{gap:6px}.detail-action{flex-basis:44px}.detail-action[data-main]{text-wrap:balance;padding:0 10px;font-size:14px}}@media (prefers-reduced-motion:reduce){.collection-card,.collection-create,.collection-menu-trigger,.collection-place-actions button,.save-to-row,.saved-tabs a{transition:none}}.detail-category-list,.detail-title-block .place-tag-list{margin:8px 0 0}.detail-category-list{flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}@media (max-width:599px){.discovery-finder .decision-filters{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.discovery-finder .decision-filters .advanced-filter-trigger,.discovery-finder .decision-filters>button{min-height:44px;margin-left:0}.discovery-finder .decision-filters>.advanced-filter-trigger:nth-child(odd){grid-column:1/-1}}@media (min-width:600px){.discovery-main:not(.discovery-main-map) .discovery-finder .decision-filters{flex-wrap:nowrap}}.search-skeleton-row{margin-top:20px}.search-skeleton-card{border:1px solid var(--border);background:var(--card);border-radius:16px;flex-direction:column;gap:10px;padding-bottom:14px;display:flex;overflow:hidden}.search-skeleton-card>:not(.search-skeleton-photo){margin-inline:12px}.search-skeleton-photo{aspect-ratio:4/3;border-radius:0;width:100%}.search-skeleton-card:nth-child(n+2){display:none}@media (min-width:360px){.search-skeleton-card:nth-child(2){display:flex}}@media (min-width:900px){.search-skeleton-row{margin-top:28px}.search-skeleton-card:nth-child(3){display:flex}}.search-results-footer{color:var(--muted-foreground);text-align:center;justify-content:center;margin-top:24px;font-size:13px;display:flex}.search-load-more{border:1px solid var(--input);background:var(--card);min-height:44px;color:var(--foreground);border-radius:999px;padding:10px 20px;font-size:14px;font-weight:500}.search-load-more[data-auto=true]:not(:focus-visible){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.discovery-finder .search-tags .floating-filter{right:16px;bottom:calc(80px + env(safe-area-inset-bottom));z-index:29;background:var(--foreground);width:52px;height:52px;min-height:0;color:var(--background);opacity:0;pointer-events:none;border:0;border-radius:50%;place-items:center;padding:0;transition:opacity .15s cubic-bezier(.23,1,.32,1),transform .15s cubic-bezier(.23,1,.32,1);display:grid;position:fixed;transform:translateY(8px)scale(.96);box-shadow:0 1px 2px #0f172a1f,0 8px 20px #0f172a2e}.discovery-finder .search-tags .floating-filter[data-visible=true]{opacity:1;pointer-events:auto;transition-duration:.22s;transform:none}.discovery-finder .search-tags .floating-filter[data-visible=true]:active{transition-duration:.12s;transform:scale(.96)}.discovery-finder .search-tags .floating-filter:focus-visible{outline:2px solid var(--ring);outline-offset:3px}.discovery-finder .search-tags .floating-filter b{border:2px solid var(--background);background:var(--primary);min-width:20px;height:20px;color:var(--primary-foreground);border-radius:999px;place-items:center;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:grid;position:absolute;top:-3px;right:-3px}@media (prefers-reduced-motion:reduce){.discovery-finder .search-tags .floating-filter,.discovery-finder .search-tags .floating-filter[data-visible=true]{transition:opacity .15s linear;transform:none}}@media (min-width:900px){.discovery-finder .search-tags .floating-filter{bottom:24px;right:24px}}.map-snapshot-mark{z-index:1;pointer-events:none;position:absolute;inset:0;container-type:size}.map-snapshot-label{background:color-mix(in oklab,var(--card) 92%,transparent);max-width:calc(100% - 64px);color:var(--foreground);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;line-height:1.35;display:inline-flex;position:absolute;top:10px;left:10px;box-shadow:0 1px 3px #0b1c2126}.map-snapshot-label svg{color:var(--primary);flex-shrink:0}.map-snapshot-credit{background:var(--card);max-width:100%;color:var(--muted-foreground);white-space:nowrap;text-overflow:ellipsis;border-top-left-radius:6px;padding:2px 6px;font-size:10px;line-height:1.4;position:absolute;bottom:0;right:0;overflow:hidden}.map-snapshot-mark[data-size=compact] .map-snapshot-label{padding:2px 6px;font-size:11px;top:8px;left:8px}.map-snapshot-mark[data-size=compact] .map-snapshot-credit{font-size:9px}.map-snapshot-mark-icon{background:color-mix(in oklab,var(--card) 90%,transparent);width:18px;height:18px;color:var(--primary);border-radius:6px;place-items:center;display:grid;inset:auto 3px 3px auto;container-type:normal}@container (max-width:140px){.map-snapshot-label{padding:3px}.map-snapshot-label-text{display:none}}:is(.gallery-slide:has(.map-snapshot-mark)~.gallery-counter,.gallery-track:has(.map-snapshot-mark)+.gallery-counter){display:none}.dark .vivu-theme:not([data-appearance=light]) img:has(+.map-snapshot-mark){filter:brightness(.78)saturate(.9)}.vivu-theme[data-appearance=dark] img:has(+.map-snapshot-mark){filter:brightness(.78)saturate(.9)}.vivu-amenity-marker{z-index:0}.vivu-amenity-marker[hidden]{display:none}.map-amenity-legend-icon,.map-amenity-type,.vivu-amenity-pin{--amenity:var(--amenity-light)}.dark .vivu-theme:not([data-appearance=light]) :is(.vivu-amenity-pin,.map-amenity-type,.map-amenity-legend-icon),.vivu-theme[data-appearance=dark] :is(.vivu-amenity-pin,.map-amenity-type,.map-amenity-legend-icon){--amenity:var(--amenity-dark)}.vivu-amenity-pin{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:grid}.vivu-amenity-pin>span{border:1.5px solid var(--amenity);background:var(--card);width:26px;height:26px;color:var(--amenity);border-radius:50%;place-items:center;transition:transform .12s ease-out;display:grid;box-shadow:0 1px 3px #0b1c211f}.vivu-amenity-pin:active>span,.vivu-map-pin:active:not(:disabled)>span{transform:scale(.92)}.vivu-amenity-pin:focus-visible{outline:none}.vivu-amenity-pin:focus-visible>span{outline:2px solid var(--ring);outline-offset:2px}.map-amenity-legend ul{overscroll-behavior:contain;padding:8px 12px;display:grid;overflow-y:auto}.map-amenity-legend li button{text-align:left;border-radius:12px;grid-template-columns:28px 1fr auto 20px;align-items:center;gap:12px;width:100%;min-height:48px;padding:4px 12px;font-size:15px;display:grid}.map-amenity-legend li button:hover{background:var(--secondary)}.map-amenity-legend li button:focus-visible{outline:2px solid var(--ring);outline-offset:-2px}.map-amenity-legend li button[aria-pressed=false] .map-amenity-legend-icon,.map-amenity-legend li button[aria-pressed=false] .map-amenity-legend-label{opacity:.45}.map-amenity-legend-icon{border:1.5px solid var(--amenity);width:26px;height:26px;color:var(--amenity);border-radius:50%;place-items:center;display:grid}.map-amenity-legend-count{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:13px}.map-amenity-legend-check{color:var(--primary)}.map-amenity-legend-foot{padding:8px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border);justify-content:flex-end;display:flex}.map-amenity-legend-foot button{min-height:44px;color:var(--primary);padding:0 12px;font-size:14px;font-weight:600}.map-amenity-sheet{max-height:calc(min(60dvh,480px))}.map-amenity-type{color:var(--amenity);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.map-amenity-facts{gap:10px;margin:14px 24px 0;font-size:14px;line-height:1.5;display:grid}.map-amenity-facts>div{gap:10px;display:flex}.map-amenity-facts dt{color:var(--muted-foreground);flex-shrink:0;padding-top:2px}.map-amenity-facts dd{overflow-wrap:anywhere;min-width:0}.map-amenity-facts a{color:var(--primary)}.map-amenity-foot{padding:8px 24px calc(16px + env(safe-area-inset-bottom));gap:4px;display:grid}.map-amenity-source{color:var(--muted-foreground);font-size:12px}.map-amenity-source a{text-underline-offset:2px;text-decoration:underline}@media (prefers-reduced-motion:reduce){.vivu-amenity-pin>span{transition:none}}.map-amenity-legend [data-slot=drawer-header],.map-amenity-sheet [data-slot=drawer-header]{border-bottom:1px solid var(--border);text-align:left;padding:20px 24px 12px}.vivu-map-marker[data-variant=pin] .map-place-card{left:50%}.vivu-map-pin{cursor:pointer;-webkit-tap-highlight-color:transparent;place-items:center;width:44px;height:44px;padding:0;display:grid}.vivu-map-pin:disabled{cursor:default}.vivu-map-pin>span{border:1.5px solid var(--primary);background:var(--card);width:30px;height:30px;color:var(--primary);border-radius:50%;place-items:center;transition:transform .12s ease-out;display:grid;box-shadow:0 1px 4px #0b1c2129}.vivu-map-pin b{font-variant-numeric:tabular-nums;font-size:13px;line-height:1}.vivu-map-pin[data-open]>span,.vivu-map-pin[data-stop]>span{background:var(--primary);color:var(--primary-foreground)}.vivu-map-pin:focus-visible{outline:none}.vivu-map-pin:focus-visible>span{outline:2px solid var(--ring);outline-offset:2px}.map-route-empty{z-index:3;border:1px solid var(--border);background:var(--card);width:min(300px,100% - 32px);color:var(--foreground);text-align:center;border-radius:14px;gap:6px;padding:16px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0b1c2133}.map-route-empty strong{font-size:16px}.map-route-empty p{color:var(--muted-foreground);font-size:14px;line-height:1.5}.map-route-empty button{background:var(--primary);min-height:44px;color:var(--primary-foreground);border-radius:12px;margin-top:4px;font-size:14px;font-weight:600}@media (prefers-reduced-motion:reduce){.vivu-map-pin>span{transition:none}.vivu-map-pin:active:not(:disabled)>span{transform:none}}.map-controls{z-index:3;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:10px;right:10px}.map-controls-anchor,.map-controls-list{pointer-events:auto;position:relative}.map-controls-list{flex-direction:column;align-items:flex-end;gap:6px;animation:.14s ease-out map-tools-in;display:flex}.map-controls-list[hidden]{display:none}.map-controls-list>.map-amenity-layers,.map-controls-list>.map-locate,.map-view-toggle,.map-zoom{flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:relative}.map-control{border:1px solid var(--border);background:var(--card);width:36px;height:36px;color:var(--foreground);-webkit-tap-highlight-color:transparent;border-radius:10px;place-items:center;transition:transform .12s ease-out;display:grid;position:relative;box-shadow:0 1px 4px #0b1c211f}.map-control:before{content:"";position:absolute;inset:-4px}.map-controls[data-open] .map-controls-anchor .map-control,.map-view-toggle .map-control[aria-checked=true]{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.map-control[data-off]{color:var(--muted-foreground)}.map-control:active:not(:disabled){transform:scale(.94)}.map-control:focus-visible{z-index:1;outline:2px solid var(--ring);outline-offset:2px}.map-control-label{background:var(--foreground);color:var(--background);white-space:nowrap;opacity:0;pointer-events:none;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500;line-height:1.4;transition:opacity .12s ease-out,transform .12s ease-out;position:absolute;top:50%;right:calc(100% + 8px);transform:translate(4px,-50%)}.map-control:focus-visible .map-control-label,.map-control[data-flash] .map-control-label{opacity:1;transform:translateY(-50%)}@media (hover:hover){.map-control:hover .map-control-label{opacity:1;transform:translateY(-50%)}}@keyframes map-tools-in{0%{opacity:0;transform:translateY(-4px)}}.map-view-coach{background:var(--foreground);width:calc(min(240px,100vw - 92px));color:var(--background);border-radius:12px;align-items:flex-start;gap:4px;padding:10px 4px 10px 12px;font-size:13px;line-height:1.45;animation:.2s ease-out map-view-coach-in;display:flex;position:absolute;top:0;right:calc(100% + 10px);box-shadow:0 8px 24px #0b1c2133}.map-view-coach:after{content:"";background:inherit;width:10px;height:10px;position:absolute;top:13px;right:-5px;transform:rotate(45deg)}.map-view-coach strong{font-weight:600}.map-view-coach button{width:32px;height:32px;color:inherit;border-radius:8px;flex-shrink:0;place-items:center;margin:-4px 0;display:grid;position:relative}.map-view-coach button:before{content:"";position:absolute;inset:-6px}.map-view-coach button:focus-visible{outline:2px solid var(--background);outline-offset:1px}@keyframes map-view-coach-in{0%{opacity:0;transform:translate(4px)}}.map-controls .map-locate-note{width:max-content;position:absolute;top:0;right:calc(100% + 10px)}.map-search-overlay{z-index:4;margin:0;position:absolute;top:10px;left:10px;right:56px}@media (max-height:700px){.map-controls .map-zoom{display:none}.map-controls,.map-controls-list,.map-view-toggle,.map-zoom{gap:4px}.map-controls{top:6px}.map-control{width:32px;height:32px}.map-control:before{inset:-6px}}@media (prefers-reduced-motion:reduce){.map-control,.map-control-label{transition:none}.map-control:active:not(:disabled){transform:none}.map-controls-list,.map-view-coach{animation:none}}
