:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif;color:#272824;background:#e5e6e1;font-synthesis:none;--route: #e96a2b;--action: #c84f20;--ink: #302c28;--map-marker-size: 44px;--map-marker-badge-size: 18px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--flow-height: clamp(250px, calc(36.3636dvh + 46.3636px) , 330px);--card-height: clamp(175px, calc(25.84dvh + 30.296px) , 231.848px);--header-space: clamp(10px, calc(5.4545dvh - 20.545px) , 22px);--day-tabs-height: clamp(44px, calc(5dvh + 16px) , 55px);--card-width: calc(var(--card-height) * 1.35);--gallery-top: max(0px, calc(var(--safe-top) - 1px));--gallery-tint-start: calc(var(--safe-top) + 79px);--gallery-footer-gap: 8px;--gallery-bottom: calc(140px + var(--safe-bottom) + var(--gallery-footer-gap))}*{box-sizing:border-box}body{margin:0}html,body,#root{height:100%;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent;min-height:44px}button{font:inherit;border:0;cursor:pointer;color:inherit;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--route);outline-offset:3px}a{text-decoration:none}h1,h2,p{margin:0}img{display:block;max-width:100%}button:active{filter:brightness(.94)}.phone-shell{position:relative;width:100%;max-width:520px;height:100%;height:100dvh;margin:auto;overflow:hidden;background:#eeeee8;isolation:isolate}.map-mode,.trip-map{position:absolute;inset:0}.trip-map{background:#eeeee8}.trip-header{position:absolute;top:0;left:0;right:0;padding:calc(var(--safe-top) + var(--header-space)) 22px var(--header-space);display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(#f7f7f5 5%,#f7f7f5e8 62%,#f7f7f500);pointer-events:none;z-index:2}.trip-heading{min-width:0}.trip-author{display:flex;align-items:center;gap:6px;color:var(--ink);min-width:0}.author-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:0 0 24px}.author-avatar-fallback{display:grid;place-items:center;background:#e7e5e2;font-size:12px}.author-name{color:#555550;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-author .eyebrow{font-size:12px;flex-shrink:0;letter-spacing:0}.trip-author .author-name,.trip-author .eyebrow{line-height:18px}.trip-header button{pointer-events:auto}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:400;color:#92928c}.trip-header h1{color:var(--route);font-size:clamp(22px,calc(1.8182dvh + 11.818px),26px);font-weight:650;letter-spacing:-.8px;margin:clamp(5px,1.15dvh,9px) 0 clamp(4px,.9dvh,7px)}.trip-header p{font-size:12px;font-weight:400;color:#777770}.trip-header p span{color:#aaa9a3;margin:0 6px}.app-pill{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;text-decoration:none;align-self:flex-start;white-space:nowrap;background:var(--route);color:#fff;border-radius:24px;padding:0 16px;font-size:12px;font-weight:600}.map-chrome .round-button{color:var(--route)}.map-chrome{position:absolute;bottom:calc(var(--flow-height) + var(--safe-bottom) + 42px);left:20px;right:20px;display:flex;align-items:center;justify-content:flex-end;gap:10px;pointer-events:none;z-index:2}.map-chrome>span{font-size:11px;background:#fffe;padding:10px 14px;border-radius:20px;max-width:80%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 2px 18px #302c2810}.round-button{width:44px;height:44px;border-radius:50%;background:#ffffffdf;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-size:23px;display:grid;place-items:center;flex-shrink:0;pointer-events:auto}.map-marker{position:relative;overflow:visible;isolation:isolate;padding:0;height:var(--map-marker-size);min-height:var(--map-marker-size);width:var(--map-marker-size);border:3px solid white;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;box-shadow:0 2px 12px #0003;transition:transform .2s,background .2s}.map-marker-cover{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover;pointer-events:none}.map-marker-number{position:absolute;right:-5px;bottom:-5px;z-index:1;display:grid;place-items:center;min-width:var(--map-marker-badge-size);height:var(--map-marker-badge-size);padding:0 3px;border:2px solid white;border-radius:999px;background:var(--route);color:#fff;font-size:10px;font-weight:650;line-height:1;box-shadow:0 1px 3px #0002;pointer-events:none}.map-marker.selected{background:var(--route);transform:scale(1.22);box-shadow:0 0 0 4px #e96a2b2a}.map-status{position:absolute;top:26%;left:20px;right:20px;text-align:center;color:#73786c;pointer-events:none}.map-status-icon{font-size:60px;color:#b6c2a7;display:block}.map-status p{font-size:13px}.map-status small{display:block;font-size:11px;margin-top:8px}.map-status button{pointer-events:auto;margin:12px;background:#fff;border-radius:20px;padding:0 18px;font-size:12px}.map-warning{position:absolute;top:130px;left:22px;max-width:75%;font-size:10px;background:#fffd;padding:7px 10px;border-radius:8px;z-index:2}.step-bottom{position:absolute;bottom:0;left:0;right:0;height:var(--flow-height);border-radius:20px 20px 0 0;border:0;border-top:.5px solid rgb(228 229 226 / 62%);background:#d9d9d90d;backdrop-filter:blur(20px) saturate(1.8);-webkit-backdrop-filter:blur(20px) saturate(1.8);box-shadow:0 8px 10px #1b1b1b14;overflow:hidden;z-index:3}.day-tabs{position:relative;display:flex;gap:8px;padding:0 16px;align-items:center;overflow-x:auto;scrollbar-width:none;height:var(--day-tabs-height)}.day-tabs button{flex-shrink:0;min-height:24px;height:24px;padding:0 10px;border-radius:12px;background:#fff;font-size:13px;font-weight:500;color:#666}.day-tabs button[aria-pressed=true]{background:var(--route);color:#fff}.step-strip{position:relative;display:flex;gap:24px;height:var(--card-height);overflow-x:auto;overflow-y:hidden;padding:0 20px;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scroll-behavior:smooth;background:linear-gradient(#6666,#6666) center / 100% 2px no-repeat;background-origin:content-box;background-clip:content-box}.step-strip::-webkit-scrollbar,.day-tabs::-webkit-scrollbar{display:none}.step-card{position:relative;flex:0 0 var(--card-width);height:var(--card-height);border-radius:20px;padding:0;overflow:hidden;text-align:left;background:#9c9d8a;isolation:isolate}.step-card>img,.step-card>.media-fallback{width:100%;height:100%;object-fit:cover}.card-shade{position:absolute;left:0;right:0;bottom:0;height:58%;background:linear-gradient(to bottom,#302c2800,#302c2861 42%,#302c28d6)}.card-progress{position:absolute;top:12px;left:12px;height:18px;padding:0 7px;border-radius:9px;background:#0000004d;color:#fff;font-size:11px;font-weight:500;line-height:18px}.card-bottom{position:absolute;left:15px;right:15px;bottom:13px;color:#fff;display:flex;flex-direction:column;gap:4px}.card-bottom strong{font-size:17px;font-weight:600;line-height:21px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-bottom small,.card-metadata{font-size:12px;line-height:16px;color:#ffffffd6}.card-metadata{display:flex;align-items:center;gap:8px}.poi-name{display:inline-flex;align-items:center;gap:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;min-width:0}.poi-pin{flex:0 0 12px;width:12px;height:12px;background:currentColor;mask:url("data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='14.7455'%20height='18.4207'%20viewBox='0%200%2014.7455%2018.4207'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.37273%204.19091C5.86636%204.19091%204.64545%205.41182%204.64545%206.91818C4.64545%208.42455%205.86636%209.64545%207.37273%209.64545C8.87909%209.64545%2010.1%208.42455%2010.1%206.91818C10.1%205.41182%208.87909%204.19091%207.37273%204.19091ZM7.37273%208.73636C6.36909%208.73636%205.55454%207.92273%205.55454%206.91818C5.55454%205.91455%206.36909%205.1%207.37273%205.1C8.37727%205.1%209.19091%205.91455%209.19091%206.91818C9.19091%207.92273%208.37727%208.73636%207.37273%208.73636ZM7.37273%200.1C3.35636%200.1%200.1%203.32182%200.1%207.29727C0.1%2011.2718%207.37273%2018.2818%207.37273%2018.2818C7.37273%2018.2818%2014.6455%2011.2718%2014.6455%207.29727C14.6455%203.32182%2011.3891%200.1%207.37273%200.1ZM7.37273%2016.9245C7.37273%2016.9245%201.00818%2010.7927%201.00818%207.31273C1.00818%203.83182%203.85818%201.01091%207.37273%201.01091C10.8873%201.01091%2013.7373%203.83273%2013.7373%207.31273C13.7373%2010.7927%207.37273%2016.9245%207.37273%2016.9245Z'%20fill='%23666666'%20stroke='%23666666'%20stroke-width='0.2'/%3e%3c/svg%3e") center / contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='14.7455'%20height='18.4207'%20viewBox='0%200%2014.7455%2018.4207'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.37273%204.19091C5.86636%204.19091%204.64545%205.41182%204.64545%206.91818C4.64545%208.42455%205.86636%209.64545%207.37273%209.64545C8.87909%209.64545%2010.1%208.42455%2010.1%206.91818C10.1%205.41182%208.87909%204.19091%207.37273%204.19091ZM7.37273%208.73636C6.36909%208.73636%205.55454%207.92273%205.55454%206.91818C5.55454%205.91455%206.36909%205.1%207.37273%205.1C8.37727%205.1%209.19091%205.91455%209.19091%206.91818C9.19091%207.92273%208.37727%208.73636%207.37273%208.73636ZM7.37273%200.1C3.35636%200.1%200.1%203.32182%200.1%207.29727C0.1%2011.2718%207.37273%2018.2818%207.37273%2018.2818C7.37273%2018.2818%2014.6455%2011.2718%2014.6455%207.29727C14.6455%203.32182%2011.3891%200.1%207.37273%200.1ZM7.37273%2016.9245C7.37273%2016.9245%201.00818%2010.7927%201.00818%207.31273C1.00818%203.83182%203.85818%201.01091%207.37273%201.01091C10.8873%201.01091%2013.7373%203.83273%2013.7373%207.31273C13.7373%2010.7927%207.37273%2016.9245%207.37273%2016.9245Z'%20fill='%23666666'%20stroke='%23666666'%20stroke-width='0.2'/%3e%3c/svg%3e") center / contain no-repeat}.media-count{display:inline-flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.media-count svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.3}.endpoint{flex:0 0 calc(var(--card-height) * 139.276 / 231);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#f2f2ef;color:var(--ink)}.endpoint-icon{width:34px;height:34px;text-align:center;font-size:30px;line-height:34px;color:var(--route)}.endpoint strong{font-size:15px;font-weight:500}.endpoint.end{background:var(--route);color:#fff}.endpoint.end .endpoint-icon{color:#fff}.strip-guide{flex:0 0 260px}.step-gallery{position:absolute;inset:0;z-index:10;transform-origin:center bottom;background:#302c28;overscroll-behavior:none;color:#fff}.vertical-gallery{height:100%;width:100%}.vertical-gallery>.swiper-wrapper>.swiper-slide{height:100%;overflow:hidden}.gallery-page{position:relative;isolation:isolate;width:100%;height:100%;overflow:hidden;background:#302c28}.gallery-backdrop{position:absolute;z-index:0;inset:-40px;background-size:cover;background-position:center;filter:blur(28px) brightness(.55);opacity:.95}.gallery-backdrop-layer{position:absolute;inset:0;background-size:cover;background-position:center;will-change:opacity}.gallery-nav{position:absolute;top:calc(var(--safe-top) + 15px);left:20px;right:20px;display:flex;justify-content:space-between;align-items:center;z-index:20;pointer-events:none}.gallery-nav>span{font-size:15px;font-variant-numeric:tabular-nums;text-align:center;text-shadow:0 1px 8px #0005}.gallery-nav small{display:block;font-size:9px;font-weight:400;letter-spacing:2px;opacity:.65;margin-top:5px}.gallery-nav .round-button{background:#ffffff24;color:#fff;border:1px solid #ffffff25}.gallery-logo{font-weight:700;width:44px}.media-viewport{position:absolute;z-index:1;top:var(--gallery-top);bottom:var(--gallery-bottom);left:0;right:0}.media-viewport>.swiper{width:100%;height:100%}.media-frame{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.media-frame>img{width:100%;height:100%;object-fit:contain}.media-frame.portrait>img{object-fit:cover}.media-frame>.media-fallback{height:100%;width:100%}.media-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#848a7550;color:#fffc}.media-fallback>span{font-size:30px;opacity:.65}.media-fallback>small{font-size:12px}.gallery-top-blur,.gallery-top-tint,.gallery-bottom-blur,.gallery-bottom-tint{z-index:3;position:absolute;left:0;right:0;pointer-events:none}.gallery-top-blur{z-index:2;top:0;height:calc(var(--gallery-tint-start) + 96px);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);mask-image:linear-gradient(#000 0,#000 calc(var(--gallery-top) + 8px),transparent calc(var(--gallery-top) + 52px));-webkit-mask-image:linear-gradient(#000 0,#000 calc(var(--gallery-top) + 8px),transparent calc(var(--gallery-top) + 52px))}.gallery-top-tint{z-index:3;top:0;height:calc(var(--gallery-tint-start) + 96px);background:linear-gradient(rgb(48 44 40 / 90%) 0,rgb(48 44 40 / 52%) var(--gallery-tint-start),rgb(48 44 40 / 18%) calc(var(--gallery-tint-start) + 32px),rgb(48 44 40 / 4%) calc(var(--gallery-tint-start) + 68px),transparent 100%)}.gallery-bottom-blur{z-index:2;bottom:0;height:calc(var(--gallery-bottom) + 44px);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);mask-image:linear-gradient(transparent,#000 44px);-webkit-mask-image:linear-gradient(transparent,#000 44px)}.gallery-bottom-tint{z-index:3;bottom:0;height:calc(var(--gallery-bottom) + 8px);background:linear-gradient(#302c2800,#302c284d 30%,#302c287f 50%,#302c28e5)}.step-gallery:focus{outline:none}.gallery-info{position:absolute;z-index:4;bottom:0;left:0;right:0;padding:0 20px calc(var(--safe-bottom) + var(--gallery-footer-gap));display:flex;flex-direction:column;gap:8px}.gallery-caption{overflow:hidden}.gallery-caption h2{font-size:28px;font-weight:700;line-height:34px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 8px}.caption-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;line-height:18px;color:#ffffffa3}.caption-meta>span:first-child{flex-shrink:0}.caption-meta .poi-name{max-width:50%;font-size:12px}.post-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:15px;line-height:21px;margin:8px 0 0;height:42px;color:#ffffffd1}.media-pagination{position:relative;flex:0 0 22px;display:flex;gap:4px;height:22px}.media-pagination button{flex:1;position:relative;background:transparent;min-height:22px;height:22px;overflow:hidden;padding:0}.media-pagination button:before,.media-pagination button>span{content:"";position:absolute;left:0;right:0;bottom:4px;height:3px;border-radius:1.5px;background:#ffffff38}.media-pagination button>span{background:var(--route);transform-origin:left}.video-stage{position:relative;width:100%;height:100%}.video-stage video{pointer-events:none;width:100%;height:100%;object-fit:contain;opacity:0}.video-stage video.has-frame{opacity:1}.portrait .video-stage video{pointer-events:none;object-fit:cover}.video-poster{pointer-events:none;position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.portrait .video-poster{pointer-events:none;object-fit:cover}.video-controls{position:absolute;bottom:15px;right:18px;display:flex;gap:8px}.video-controls button{width:44px;height:44px;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:24px;padding:0;background:#302c2866;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:12px}.video-controls svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}@keyframes video-spinner-turn{to{transform:rotate(360deg)}}.video-spinner{width:28px;height:28px;fill:#fff;filter:drop-shadow(0 1px 3px #0006);animation:video-spinner-turn 1s steps(12) infinite}.video-message{position:absolute;top:50%;left:10px;right:10px;text-align:center;font-size:12px;text-shadow:0 1px 8px black;transform:translateY(-50%);pointer-events:none}.app-guide{height:100%;width:100%;display:flex;align-items:center;justify-content:safe center;flex-direction:column;gap:18px;padding:32px;background:#302c28;color:#fff;text-align:center;overflow-y:auto}.app-guide>*{flex-shrink:0}.app-guide h2{font-size:24px;font-weight:500}.app-guide p{font-size:12px;line-height:1.8;color:#ffffff9c;max-width:240px}.primary-button{display:inline-flex;align-items:center;justify-content:center;border-radius:24px;background:var(--action);color:#fff;padding:0 24px;font-size:13px;min-height:46px}.app-guide .guide-notice{font-size:10px;color:#ffd2b6}.app-guide.compact{border-radius:20px;padding:12px;gap:8px}.app-store-link{color:#fff;text-decoration:underline;text-underline-offset:4px;padding:12px}.compact h2{font-size:17px}.compact p{font-size:10px}.compact .primary-button{font-size:11px}.guide-dialog{position:absolute;inset:0;background:#302c28;z-index:30}.close-guide{position:absolute;right:20px;top:calc(20px + var(--safe-top));z-index:1}.loading-page{height:100dvh;max-width:520px;margin:auto;background:#f7f7f5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:30px;text-align:center}.loading-brand{font-size:32px;color:var(--action);font-weight:650}.loading-page h1{font-size:20px;font-weight:500}.loading-page p{font-size:13px;color:#81867b}@media(max-height:825px){:root{--flow-height: min(330px, 40dvh);--day-tabs-height: clamp(38px, calc(6.4151dvh + 2.0755px) , 55px);--panel-bottom-space: clamp(10px, calc(12.5102dvh - 60.057px) , 43.152px);--card-height: calc(var(--flow-height) - var(--day-tabs-height) - var(--panel-bottom-space))}}@media(min-width:700px){.phone-shell{box-shadow:0 0 80px #0002}.phone-shell:after{content:"";position:absolute;inset:0;border:1px solid #0001;pointer-events:none;z-index:50}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.trip-map .amap-logo{bottom:calc(var(--flow-height) + var(--safe-bottom) + 3px)!important;left:4px!important}.trip-map .amap-copyright{bottom:calc(var(--flow-height) + var(--safe-bottom) + 3px)!important;font-size:9px!important}.map-mode{z-index:0;isolation:isolate}.trip-map .amap-logo{bottom:calc(var(--flow-height) + var(--safe-bottom) + 6px)!important}.gesture-guide{position:fixed;inset:0;z-index:1000;color:#fff;touch-action:none;overscroll-behavior:none;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,sans-serif}.guide-scrim{position:absolute;inset:0;pointer-events:none}.gesture-guide h2{font-size:24px;line-height:1.4;font-weight:600;margin:0 0 12px;letter-spacing:1px}.gesture-guide p{font-size:14px;line-height:1.8;margin:4px 0;color:#ffffffc7}.guide-entry-copy{position:absolute;left:20px;right:20px;text-align:center}.guide-hand{width:56px;height:64px;filter:drop-shadow(0 2px 5px #0004)}.guide-tap{position:absolute;width:64px;height:76px;transform:translate(-22px,-13px)}.guide-tap .guide-hand{position:relative;animation:guide-tap 1.8s ease-in-out infinite}.guide-tap-ring{position:absolute;top:-9px;left:6px;width:30px;height:30px;border:2px solid white;border-radius:50%;animation:guide-ring 1.8s ease-out infinite}.guide-gallery-content{position:absolute;left:20px;right:20px;top:43%;transform:translateY(-50%);text-align:center}.guide-swipe-illustration{position:relative;width:200px;height:200px;margin:0 auto 24px}.guide-directions{width:100%;height:100%;opacity:.8}.guide-swipe-illustration .guide-hand{position:absolute;top:70px;left:77px}@keyframes guide-tap{45%,65%{transform:scale(.88)}}@keyframes guide-ring{0%,30%{opacity:0;transform:scale(.5)}50%{opacity:1}95%,to{opacity:0;transform:scale(1.8)}}@keyframes guide-swipe-both{0%,to{transform:translate(0)}20%{transform:translateY(-32px)}40%{transform:translateY(32px)}60%{transform:translate(-32px)}80%{transform:translate(32px)}}@keyframes guide-swipe-horizontal{25%{transform:translate(-32px)}75%{transform:translate(32px)}}@keyframes guide-swipe-vertical{25%{transform:translateY(-32px)}75%{transform:translateY(32px)}}.swipe-both{animation:guide-swipe-both 4s ease-in-out infinite}.swipe-horizontal{animation:guide-swipe-horizontal 3s ease-in-out infinite}.swipe-vertical{animation:guide-swipe-vertical 3s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.gesture-guide *{animation:none!important}}.gesture-guide:focus{outline:none}
