.footprints{display:flex;flex-direction:column;gap:1.75rem}.footprints-hero{overflow:hidden;border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:1rem;background:radial-gradient(circle at 12% 18%,color-mix(in srgb,#ff7dac 24%,transparent),transparent 28%),radial-gradient(circle at 86% 12%,color-mix(in srgb,#69b7ff 22%,transparent),transparent 30%),linear-gradient(135deg,color-mix(in srgb,var(--card) 92%,white),color-mix(in srgb,var(--card) 82%,#f8d9e8));box-shadow:0 18px 50px color-mix(in srgb,var(--primary) 10%,transparent)}.footprints-hero:fullscreen,.footprints-hero.is-fullscreen,.footprints-hero.is-immersive{display:flex;flex-direction:column;width:100vw;height:100dvh;border:0;border-radius:0;background:radial-gradient(circle at 12% 18%,rgba(255,125,172,.18),transparent 28%),radial-gradient(circle at 86% 12%,rgba(105,183,255,.16),transparent 30%),linear-gradient(135deg,#fffafd,#fff2f7);color:#171923;box-shadow:none}.footprints-hero.is-immersive{position:fixed;z-index:9999;inset:0}.footprints-hero:fullscreen::backdrop{background:#fff7fb}.footprints-hero:fullscreen .footprints-eyebrow,.footprints-hero.is-fullscreen .footprints-eyebrow,.footprints-hero.is-immersive .footprints-eyebrow{color:#e95485}.footprints-hero:fullscreen .footprints-map-toolbar h3,.footprints-hero.is-fullscreen .footprints-map-toolbar h3,.footprints-hero.is-immersive .footprints-map-toolbar h3,.footprints-hero:fullscreen .footprints-map-detail strong,.footprints-hero.is-fullscreen .footprints-map-detail strong,.footprints-hero.is-immersive .footprints-map-detail strong{color:#171923}.footprints-hero:fullscreen .footprints-map-detail,.footprints-hero.is-fullscreen .footprints-map-detail,.footprints-hero.is-immersive .footprints-map-detail{background:#fffffff0}.footprints-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem .5rem}.footprints-eyebrow{margin:0 0 .25rem;color:var(--primary);font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}.footprints-map-toolbar h3{margin:0;font-size:1.35rem;font-weight:800}.footprints-map-actions{display:inline-flex;flex-shrink:0;align-items:center;gap:.65rem}.footprints-action-button{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:.45rem;min-height:2.5rem;padding:0 1rem;border:1px solid color-mix(in srgb,var(--primary) 24%,transparent);border-radius:999px;background:color-mix(in srgb,var(--card) 88%,white);color:var(--primary);font-weight:700;box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 12%,transparent);transition:transform .2s ease,box-shadow .2s ease}.footprints-action-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px color-mix(in srgb,var(--primary) 18%,transparent)}.footprints-map-stage{position:relative;width:100%;padding:.5rem 1rem 0}.footprints-hero:fullscreen .footprints-map-stage,.footprints-hero.is-fullscreen .footprints-map-stage,.footprints-hero.is-immersive .footprints-map-stage{flex:1;min-height:0;padding:0 1.25rem}.footprints-map{display:block;width:100%;height:min(64vw,640px);min-height:430px;opacity:1;transform:scale(1);transition:opacity .26s ease,transform .26s ease}.footprints-hero:fullscreen .footprints-map,.footprints-hero.is-fullscreen .footprints-map,.footprints-hero.is-immersive .footprints-map{height:100%;min-height:0}.footprints-map.is-switching{opacity:.88;transform:scale(.995)}.footprints-map-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted-foreground);font-size:.9rem;font-weight:700;pointer-events:none}.footprints-progress{min-width:0;padding:.35rem 1.8rem 1.25rem;border:0;margin:0}.footprints-progress-label{position:absolute;overflow:hidden;width:1px;height:1px;clip:rect(0,0,0,0);white-space:nowrap}.footprints-progress-track{position:relative;height:1.8rem}.footprints-progress-track:before,.footprints-progress-fill{position:absolute;top:50%;right:0;left:0;height:.2rem;border-radius:999px;content:"";transform:translateY(-50%)}.footprints-progress-track:before{background:color-mix(in srgb,var(--primary) 14%,transparent)}.footprints-progress-fill{right:auto;background:linear-gradient(90deg,#ff5f93,#ff9ebb);box-shadow:0 6px 16px color-mix(in srgb,var(--primary) 22%,transparent);transition:width .26s ease}.footprints-progress-dot{position:absolute;top:50%;width:.8rem;height:.8rem;border:2px solid #fff;border-radius:999px;background:color-mix(in srgb,var(--muted-foreground) 22%,#fff);box-shadow:0 4px 12px color-mix(in srgb,var(--foreground) 12%,transparent);transform:translate(-50%,-50%);transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.footprints-progress-dot:hover,.footprints-progress-dot.is-active{background:var(--primary);box-shadow:0 0 0 .32rem color-mix(in srgb,var(--primary) 14%,transparent)}.footprints-progress-dot:hover{transform:translate(-50%,-50%) scale(1.15)}.footprints-grid line{stroke:color-mix(in srgb,var(--muted-foreground) 6%,transparent);stroke-width:1}.footprints-china-map path{fill:color-mix(in srgb,#fff 68%,#f9dbe8);stroke:color-mix(in srgb,var(--primary) 36%,#55acd5 12%);stroke-width:1.45;filter:drop-shadow(0 14px 24px color-mix(in srgb,#da708a 12%,transparent));vector-effect:non-scaling-stroke}.footprints-route-track,.footprints-route-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.footprints-route-track{stroke:color-mix(in srgb,#ff8fb3 18%,transparent);stroke-width:12;vector-effect:non-scaling-stroke}.footprints-route-track.is-highspeed,.footprints-route-track.is-train{stroke:color-mix(in srgb,#ff9bbb 18%,transparent);stroke-dasharray:3 17;stroke-width:13}.footprints-route-track.is-flight{stroke:color-mix(in srgb,#55acd5 18%,transparent);stroke-dasharray:18 18;stroke-width:10}.footprints-route-line{stroke:url(#footprints-route-gradient);stroke-width:3.5;filter:url(#footprints-glow);vector-effect:non-scaling-stroke}.footprints-route-line.is-highspeed,.footprints-route-line.is-train{stroke-dasharray:18 13;stroke-width:3.25}.footprints-route-line.is-flight{stroke:color-mix(in srgb,#55acd5 82%,white);stroke-dasharray:22 15;stroke-width:3}.footprints-runner{filter:url(#footprints-glow)}.footprints-runner-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:var(--primary);font-size:26px;filter:drop-shadow(0 2px 0 #fff) drop-shadow(0 8px 12px color-mix(in srgb,var(--primary) 36%,transparent))}.footprints-runner.is-flight .footprints-runner-icon{color:#55acd5}.footprints-point{stroke:#fff;stroke-width:3;filter:drop-shadow(0 4px 8px color-mix(in srgb,var(--primary) 26%,transparent));vector-effect:non-scaling-stroke}.footprints-points .is-active .footprints-point{stroke-width:4;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--primary) 48%,transparent))}.footprints-active-marker{pointer-events:none}.footprints-active-pulse{filter:url(#footprints-glow)}.footprints-active-dot{stroke:#fff;stroke-width:4;filter:drop-shadow(0 0 9px color-mix(in srgb,var(--primary) 60%,transparent)) drop-shadow(0 8px 18px color-mix(in srgb,var(--primary) 32%,transparent))}.footprints-active-label{fill:color-mix(in srgb,var(--foreground) 90%,#000);font-size:22px;font-weight:900;paint-order:stroke;stroke:color-mix(in srgb,#fff 92%,transparent);stroke-linecap:round;stroke-linejoin:round;stroke-width:6px}.footprints-city-label{fill:color-mix(in srgb,var(--foreground) 82%,#000);font-size:18px;font-weight:800;paint-order:stroke;stroke:color-mix(in srgb,#fff 86%,transparent);stroke-linecap:round;stroke-linejoin:round;stroke-width:5px;vector-effect:non-scaling-stroke}.footprints-map-camera.is-focus .footprints-city-label{font-size:14px}.footprints-content{display:block}.footprints-map-detail{position:absolute;z-index:2;top:clamp(1rem,3vw,1.45rem);left:1.25rem;display:grid;grid-template-columns:2.75rem minmax(0,1fr);gap:.85rem;width:min(34rem,calc(100% - 2rem));padding:1rem 1.05rem;border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-radius:.875rem;background:var(--card);box-shadow:0 12px 28px color-mix(in srgb,var(--foreground) 7%,transparent)}.footprints-map-detail-icon{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,white);color:var(--primary);font-size:1.45rem}.footprints-map-detail-body{min-width:0}.footprints-map-detail strong,.footprints-map-detail em,.footprints-map-detail small{display:block}.footprints-map-detail strong{color:var(--foreground);font-size:1.03rem;font-weight:850}.footprints-map-detail strong span{color:var(--primary)}.footprints-map-detail em{margin-top:.28rem;color:var(--primary);font-size:.84rem;font-style:normal;font-weight:800}.footprints-map-detail p{margin:.5rem 0 0;color:var(--muted-foreground);font-size:.9rem;line-height:1.65}.footprints-map-detail small{margin-top:.55rem;color:color-mix(in srgb,var(--foreground) 68%,var(--primary));font-size:.78rem;font-weight:800}.footprints-map-detail-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(11rem,100%),1fr));gap:.6rem;margin-top:.8rem}.footprints-map-detail-images img{display:block;justify-self:center;width:auto;max-width:100%;height:auto;max-height:17rem;border-radius:.7rem;background:color-mix(in srgb,var(--muted) 42%,transparent);object-fit:contain;box-shadow:0 8px 18px color-mix(in srgb,var(--foreground) 10%,transparent)}.footprints-map-detail-images img:only-child{max-height:20rem}.footprints-panel{border:1px solid color-mix(in srgb,var(--muted-foreground) 14%,transparent);border-radius:.875rem;background:color-mix(in srgb,var(--card) 94%,white);padding:1.15rem;box-shadow:0 12px 34px color-mix(in srgb,var(--foreground) 5%,transparent)}.footprints-section-heading{display:flex;align-items:center;gap:.5rem;margin-bottom:.85rem;color:var(--primary)}.footprints-section-heading h3{margin:0;color:var(--foreground);font-size:1.08rem;font-weight:800}.footprints-stay-list,.footprints-route-list{display:flex;flex-direction:column;gap:1rem}.footprints-stay{display:grid;grid-template-columns:9.5rem minmax(0,1fr);gap:1rem;padding:1rem;border-radius:.75rem;background:color-mix(in srgb,var(--muted) 42%,transparent)}.footprints-stay-date{align-self:start;border-radius:999px;background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--primary);font-size:.86rem;font-weight:800;line-height:1.45;padding:.42rem .7rem;text-align:center}.footprints-stay-title{display:flex;align-items:center;gap:.55rem;margin-bottom:.25rem;font-weight:800}.footprints-stay-title em{border-radius:999px;background:color-mix(in srgb,#55acd5 16%,transparent);color:#438ab2;font-size:.76rem;font-style:normal;padding:.16rem .5rem}.footprints-stay p{margin:0;color:var(--muted-foreground);line-height:1.75}.footprints-route-card{display:flex;align-items:flex-start;gap:.95rem;padding:1.05rem;border:1px solid transparent;border-radius:.75rem;background:color-mix(in srgb,var(--muted) 38%,transparent);transition:border-color .2s ease,background .2s ease,transform .2s ease}.footprints-route-card.is-active{border-color:color-mix(in srgb,var(--primary) 32%,transparent);background:color-mix(in srgb,var(--primary) 10%,var(--card));transform:translate(2px)}.footprints-transport-icon{flex:0 0 auto;width:2.15rem;height:2.15rem;color:var(--primary)}.footprints-route-card strong,.footprints-route-card span{display:block}.footprints-route-card strong{font-size:.95rem}.footprints-route-card span{margin-top:.12rem;color:var(--muted-foreground);font-size:.82rem}.footprints-route-card p{margin:.5rem 0 0;color:var(--muted-foreground);font-size:.88rem;line-height:1.65}.footprints-route-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:.7rem;margin-top:.8rem}.footprints-route-images img{display:block;justify-self:center;width:auto;max-width:100%;height:auto;max-height:24rem;border-radius:.7rem;background:color-mix(in srgb,var(--muted) 42%,transparent);object-fit:contain;box-shadow:0 8px 18px color-mix(in srgb,var(--foreground) 8%,transparent)}@media(max-width:900px){.footprints-map-toolbar{align-items:flex-start;flex-direction:column}.footprints-map-detail{left:1rem}.footprints-map{height:470px}}@media(max-width:640px){.footprints-map{height:390px;min-height:350px}.footprints-map-toolbar{padding:1rem 1rem .35rem}.footprints-map-toolbar h3{font-size:1.08rem}.footprints-map-actions,.footprints-action-button{width:100%}.footprints-map-actions{align-items:stretch;flex-direction:column}.footprints-progress{padding:.15rem 1.2rem 1rem}.footprints-map-detail{top:.85rem;left:1rem;grid-template-columns:2.1rem minmax(0,1fr);gap:.65rem;width:calc(100% - 2rem);padding:.78rem .85rem}.footprints-map-detail-icon{width:2.1rem;height:2.1rem;font-size:1.12rem}.footprints-map-detail strong{font-size:.92rem}.footprints-map-detail em{font-size:.76rem}.footprints-map-detail p{display:-webkit-box;overflow:hidden;font-size:.78rem;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}.footprints-map-detail-images{display:none}.footprints-stay{grid-template-columns:1fr}.footprints-stay-date{justify-self:start}.footprints-route-images{grid-template-columns:1fr}}.footprints-action-button:disabled{opacity:.35;cursor:default}.footprints-progress{flex-shrink:0;padding:.6rem 1.2rem 1rem;background:#fff8fb;border-top:1px solid #edb8cc}.footprints-progress-label{position:static;width:auto;height:auto;clip:auto;overflow:visible;white-space:normal;padding:.35rem .6rem;border-radius:.4rem;background:#fff8fb;color:#943b60;font-size:.85rem;font-weight:700}.footprints-progress-track{display:flex;gap:.55rem;height:auto;overflow-x:auto;padding:.35rem .2rem .6rem;scrollbar-color:#d7789b #fce7ef}.footprints-progress-track:before,.footprints-progress-fill{display:none}.footprints-progress-dot{position:relative;top:auto;display:grid;flex:0 0 6.4rem;gap:.15rem;width:auto;height:auto;padding:.35rem .5rem;border:1px solid #edb8cc;border-radius:.65rem;background:#fff;color:#71344d;text-align:left;transform:none;cursor:pointer;box-shadow:none}.footprints-progress-dot:hover,.footprints-progress-dot.is-active{background:#fce0eb;border-color:#be3568;box-shadow:inset 0 0 0 1px #be3568;transform:none}.footprints-stop-number{color:#ad3c66;font-size:.75rem;font-weight:800}.footprints-progress-dot small{font-size:.72rem}.footprints-route-list{border-left:2px solid color-mix(in srgb,var(--primary) 45%,transparent);margin-left:.5rem;padding-left:1.2rem}.footprints-route-card{position:relative;border-color:color-mix(in srgb,var(--primary) 18%,transparent)}.footprints-route-card:before{position:absolute;left:-1.65rem;top:1.4rem;width:.75rem;height:.75rem;border:2px solid var(--card);border-radius:50%;background:var(--primary);content:""}.footprints-route-play{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;border:0;padding:.2rem 0;background:transparent;color:var(--primary);font-weight:800;cursor:pointer}.footprints button:focus-visible{outline:3px solid #55acd5;outline-offset:3px}@media(max-width:640px){.footprints-progress-dot{flex-basis:5.8rem}}@media(max-width:640px){.footprints-map-actions{flex-direction:row;flex-wrap:wrap;gap:.4rem}.footprints-map-actions .footprints-action-button{width:auto;flex:1;padding:0 .5rem;font-size:.8rem}}.footprints-progress-dot strong{font-size:.8rem}.footprints-progress-dot small{font-size:.65rem}.footprints-progress{padding-bottom:.6rem}.footprints-progress-dot{grid-template-columns:auto 1fr;align-content:center;column-gap:.35rem;row-gap:.2rem;min-height:3rem;line-height:1.2}.footprints-progress-dot small{grid-column:1 / -1;white-space:nowrap}.footprints-map-detail.has-visit-carousel{padding-inline:2.8rem}.footprints-visit-caption{margin-bottom:.45rem;color:#943b60;font-size:.85rem;font-weight:800}.footprints-carousel-arrow{position:absolute;top:50%;display:grid;place-items:center;width:2rem;height:2.75rem;padding:0;border:0;border-radius:.5rem;background:#fff0f6;color:#943b60;font-size:1.8rem;line-height:1;cursor:pointer;transform:translateY(-50%)}.footprints-carousel-arrow.is-previous{left:.35rem}.footprints-carousel-arrow.is-next{right:.35rem}.footprints-carousel-arrow:hover{background:#fce0eb}.footprints-carousel-arrow:disabled{opacity:.3;cursor:default}
