html{color-scheme:light dark;scroll-behavior:auto}body{margin:0;background:light-dark(#e9eff3,#0d171e)}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit}button:disabled{cursor:default}a:focus-visible{outline:3px solid #0a7c91;outline-offset:3px}::selection{background:#b9e7ef;color:#153a49}

    #nz-travel{--nz-bg:light-dark(#f3f6f8,#121d25);--nz-paper:light-dark(#fff,#192832);--nz-ink:light-dark(#182c3c,#eaf3f8);--nz-muted:light-dark(#586c7b,#a8bdcc);--nz-line:light-dark(#dce5eb,#334955);--nz-accent:light-dark(#076c80,#65d5e1);--nz-soft:light-dark(#e6f4f6,#173d45);--nz-warm:light-dark(#fff4dd,#403322);--nz-warm-ink:light-dark(#835616,#f3c884);font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.6;color:var(--nz-ink);width:100%;color-scheme:light dark}
    #nz-travel *{box-sizing:border-box}
    #nz-travel [hidden]{display:none!important}
    #nz-travel button,#nz-travel select,#nz-travel input{font:inherit}
    #nz-travel button{cursor:var(--cursor-interaction,pointer)}
    #nz-travel button:focus-visible,#nz-travel select:focus-visible,#nz-travel summary:focus-visible,#nz-travel input:focus-visible{outline:3px solid var(--nz-accent);outline-offset:3px}
    #nz-travel h1,#nz-travel h2,#nz-travel h3,#nz-travel p{margin:0}
    #nz-travel h1{font-size:25px;line-height:1.4;font-weight:650;letter-spacing:-.5px}
    #nz-travel h2{font-size:19px;line-height:1.5;font-weight:650}
    #nz-travel h3{font-size:16px;line-height:1.5;font-weight:600}
    #nz-travel .nz-app{display:grid;grid-template-columns:172px minmax(0,1fr);background:var(--nz-bg);border:1px solid var(--nz-line);border-radius:16px;overflow:hidden;min-height:780px}
    #nz-travel .nz-side{background:light-dark(#142f40,#10212d);color:#f4faff;padding:28px 16px;display:flex;flex-direction:column;gap:30px}
    #nz-travel .nz-brand{padding:0 8px}
    #nz-travel .nz-monogram{font-size:30px;letter-spacing:-2px;font-weight:750;line-height:1.2;margin-bottom:9px;color:#80dbe6}
    #nz-travel .nz-brand-name{font-size:17px;font-weight:600}
    #nz-travel .nz-side-small{font-size:12px;letter-spacing:1px;color:#acc3d0;margin-top:5px}
    #nz-travel .nz-nav{display:flex;flex-direction:column;gap:7px}
    #nz-travel .nz-nav button{display:flex;align-items:center;gap:10px;text-align:left;min-height:46px;background:transparent;color:#c4d6e1;border:0;border-radius:9px;padding:10px 12px;font-size:14px}
    #nz-travel .nz-nav button[aria-current="page"]{background:#2b5165;color:#fff}
    #nz-travel .nz-nav button:hover{background:#254658}
    #nz-travel .nz-nav svg{width:17px;height:17px;flex-shrink:0}
    #nz-travel .nz-side-route{margin-top:auto;padding:0 8px;font-size:13px;color:#b6cbd7}
    #nz-travel .nz-side-route strong{display:block;color:#eff9ff;font-size:15px;font-weight:500}
    #nz-travel .nz-route-rule{height:32px;border-left:1px solid #547285;margin:8px 0 8px 5px}
    #nz-travel .nz-main{min-width:0}
    #nz-travel .nz-topbar{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:17px 28px;background:var(--nz-paper);border-bottom:1px solid var(--nz-line);font-size:13px;color:var(--nz-muted);flex-wrap:wrap}
    #nz-travel .nz-topbar strong{font-weight:600;color:var(--nz-ink);font-size:14px}
    #nz-travel .nz-page{padding:24px 28px 28px}
    #nz-travel .nz-kicker{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;color:var(--nz-accent);font-weight:650;margin-bottom:5px}
    #nz-travel .nz-muted{color:var(--nz-muted)}
    #nz-travel .nz-subtitle{font-size:14px;color:var(--nz-muted);margin-top:7px}
    #nz-travel .nz-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}
    #nz-travel .nz-badge{display:inline-flex;align-items:center;gap:5px;border-radius:5px;background:var(--nz-soft);color:var(--nz-accent);font-size:12px;font-weight:550;padding:3px 7px;line-height:1.5;vertical-align:middle}
    #nz-travel .nz-badge-warm{background:var(--nz-warm);color:var(--nz-warm-ink)}
    #nz-travel .nz-days{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;margin-bottom:20px}
    #nz-travel .nz-days button{background:var(--nz-paper);border:1px solid var(--nz-line);border-radius:8px;min-height:61px;padding:8px 2px;color:var(--nz-ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}
    #nz-travel .nz-days button span{font-size:12px;color:var(--nz-muted)}
    #nz-travel .nz-days button strong{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}
    #nz-travel .nz-days button[aria-pressed="true"]{border-color:var(--nz-accent);background:var(--nz-accent);color:var(--nz-paper)}
    #nz-travel .nz-days button[aria-pressed="true"] span{color:var(--nz-paper)}
    #nz-travel .nz-mobile-picker{display:none;margin-bottom:16px}
    #nz-travel .nz-mobile-picker label{font-size:14px;display:block;margin-bottom:6px}
    #nz-travel select{background:var(--nz-paper);border:1px solid var(--nz-line);border-radius:8px;min-height:46px;padding:8px 10px;color:var(--nz-ink);width:100%}
    #nz-travel .nz-banner{height:146px;border-radius:11px;overflow:hidden;position:relative;margin-bottom:18px;background:#164653}
    #nz-travel .nz-banner img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;display:block}
    #nz-travel .nz-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,32,46,.82),rgba(8,32,46,.04))}
    #nz-travel .nz-banner-text{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:24px;color:#fff}
    #nz-travel .nz-banner h2{font-size:24px;letter-spacing:-.5px}
    #nz-travel .nz-banner p{font-size:13px;color:#e0f2f6;margin-top:6px}
    #nz-travel .nz-banner small{font-size:12px;letter-spacing:1.4px;color:#bfe9f0;margin-bottom:5px}
    #nz-travel .nz-key{display:flex;align-items:flex-start;gap:10px;padding:13px 15px;background:var(--nz-warm);border-radius:8px;color:var(--nz-warm-ink);font-size:14px;margin-bottom:19px}
    #nz-travel .nz-key svg{width:17px;height:17px;flex-shrink:0;margin-top:3px}
    #nz-travel .nz-key strong{font-weight:600}
    #nz-travel .nz-columns{display:grid;grid-template-columns:minmax(0,1fr) 225px;gap:25px;align-items:start}
    #nz-travel .nz-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
    #nz-travel .nz-section-head span{font-size:12px;color:var(--nz-muted)}
    #nz-travel .nz-events{margin-top:15px}
    #nz-travel .nz-event{display:grid;grid-template-columns:49px minmax(0,1fr);gap:13px;position:relative;padding-bottom:20px}
    #nz-travel .nz-time{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;padding-top:1px;color:var(--nz-muted)}
    #nz-travel .nz-event-body{position:relative;padding-left:15px;min-width:0}
    #nz-travel .nz-event-body:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;background:var(--nz-muted);border-radius:50%}
    #nz-travel .nz-event:not(:last-child) .nz-event-body:after{content:"";position:absolute;left:2px;top:20px;bottom:-19px;width:1px;background:var(--nz-line)}
    #nz-travel .nz-event[data-important="true"] .nz-event-body:before{background:var(--nz-accent);width:8px;height:8px;left:-1px}
    #nz-travel .nz-event summary{display:flex;align-items:flex-start;gap:8px;list-style:none;cursor:var(--cursor-interaction,pointer)}
    #nz-travel .nz-event summary::-webkit-details-marker{display:none}
    #nz-travel .nz-event summary>span:first-child{flex:1;min-width:0;font-size:15px;font-weight:550;line-height:1.6}
    #nz-travel .nz-event summary .nz-chevron{font-size:14px;color:var(--nz-muted);flex-shrink:0;transition:transform .15s}
    #nz-travel .nz-event details[open] .nz-chevron{transform:rotate(90deg)}
    #nz-travel .nz-event p{font-size:14px;color:var(--nz-muted);margin-top:5px;line-height:1.75}
    #nz-travel .nz-event .nz-badge{margin-top:6px}
    #nz-travel .nz-life{background:var(--nz-paper);border:1px solid var(--nz-line);border-radius:10px;overflow:hidden}
    #nz-travel .nz-life-head{padding:14px 16px;border-bottom:1px solid var(--nz-line);font-size:14px;font-weight:600}
    #nz-travel .nz-life-block{padding:13px 16px}
    #nz-travel .nz-life-block+.nz-life-block{border-top:1px solid var(--nz-line)}
    #nz-travel .nz-life-label{display:flex;gap:7px;align-items:center;font-size:13px;color:var(--nz-accent);margin-bottom:5px;font-weight:600}
    #nz-travel .nz-life-label svg{width:15px;height:15px}
    #nz-travel .nz-life-block p{font-size:14px;line-height:1.7;overflow-wrap:anywhere}
    #nz-travel .nz-life-block small{display:block;margin-top:4px;font-size:12px;color:var(--nz-muted);line-height:1.65}
    #nz-travel .nz-choice{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
    #nz-travel .nz-choice button{border:1px solid var(--nz-line);border-radius:7px;padding:7px 11px;min-height:38px;font-size:13px;background:var(--nz-paper);color:var(--nz-ink)}
    #nz-travel .nz-choice button[aria-pressed="true"]{background:var(--nz-soft);border-color:var(--nz-accent);color:var(--nz-accent)}
    #nz-travel .nz-plan{border-top:1px solid var(--nz-line);margin-top:10px;padding-top:16px}
    #nz-travel .nz-plan h3{display:flex;gap:8px;align-items:center}
    #nz-travel .nz-plan p{font-size:14px;color:var(--nz-muted);line-height:1.8}
    #nz-travel .nz-plan button.nz-text-button{font-size:14px;border:0;padding:6px 0;background:transparent;color:var(--nz-accent);margin-top:7px;text-align:left}
    #nz-travel .nz-footer{border-top:1px solid var(--nz-line);margin-top:24px;padding-top:15px;font-size:12px;color:var(--nz-muted);line-height:1.75}
    #nz-travel .nz-prep-summary{display:flex;gap:22px;align-items:center;padding:19px 21px;background:var(--nz-paper);border:1px solid var(--nz-line);border-radius:10px;margin:18px 0 23px}
    #nz-travel .nz-prep-number{font-size:29px;font-weight:650;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--nz-accent)}
    #nz-travel .nz-prep-summary>div:last-child{flex:1;min-width:0}
    #nz-travel .nz-prep-summary p{font-size:14px}
    #nz-travel .nz-progress{height:5px;background:var(--nz-line);border-radius:4px;overflow:hidden;margin-top:10px}
    #nz-travel .nz-progress span{height:100%;display:block;background:var(--nz-accent);transition:width .2s}
    #nz-travel .nz-prep-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:24px}
    #nz-travel .nz-tasks{margin-top:12px}
    #nz-travel .nz-check-row{display:flex;align-items:flex-start;gap:10px;border-bottom:1px solid var(--nz-line);padding:13px 0;cursor:var(--cursor-interaction,pointer)}
    #nz-travel .nz-check-row input{appearance:auto;width:18px;height:18px;margin:4px 0 0;flex-shrink:0;accent-color:var(--nz-accent)}
    #nz-travel .nz-check-row strong{display:block;font-size:14px;font-weight:550}
    #nz-travel .nz-check-row small{display:block;font-size:12px;color:var(--nz-muted);margin-top:4px;line-height:1.7}
    #nz-travel .nz-check-row:has(input:checked) strong{color:var(--nz-muted);text-decoration:line-through}
    #nz-travel .nz-pack-group{margin-top:20px}
    #nz-travel .nz-pack-group h3{font-size:14px;color:var(--nz-accent)}
    #nz-travel .nz-pack-group .nz-check-row{padding:9px 0}
    #nz-travel .nz-disclosure{border-top:1px solid var(--nz-line);padding:13px 0;margin-top:10px;font-size:14px}
    #nz-travel .nz-disclosure summary{cursor:var(--cursor-interaction,pointer);font-weight:550}
    #nz-travel .nz-disclosure p{margin-top:8px;color:var(--nz-muted);font-size:14px;line-height:1.8}
    #nz-travel .nz-overview{margin-top:22px}
    #nz-travel .nz-overview-day{display:grid;grid-template-columns:60px minmax(0,1fr) 180px;gap:18px;align-items:center;border:0;border-bottom:1px solid var(--nz-line);padding:16px 0;background:transparent;text-align:left;color:var(--nz-ink);width:100%}
    #nz-travel .nz-overview-day:hover{background:var(--nz-soft)}
    #nz-travel .nz-overview-date{font-size:19px;font-weight:600;font-variant-numeric:tabular-nums}
    #nz-travel .nz-overview-date small{font-size:12px;display:block;color:var(--nz-muted);font-weight:400}
    #nz-travel .nz-overview-day strong{font-size:15px;font-weight:600;display:block}
    #nz-travel .nz-overview-day p{font-size:13px;color:var(--nz-muted);margin-top:4px}
    #nz-travel .nz-overview-stay{font-size:13px;line-height:1.7;color:var(--nz-muted);overflow-wrap:anywhere}
    #nz-travel .nz-overview-stay span{display:block;color:var(--nz-accent);font-size:12px}
    #nz-travel .nz-next{display:flex;justify-content:space-between;gap:15px;margin-top:21px}
    #nz-travel .nz-next button{min-height:40px;border:1px solid var(--nz-line);background:var(--nz-paper);color:var(--nz-ink);font-size:14px;border-radius:7px;padding:7px 12px}
    #nz-travel .nz-next button:disabled{opacity:.4;cursor:default}
    #nz-travel .nz-live{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
    @media(max-width:760px){
      #nz-travel .nz-app{display:block;min-height:0}
      #nz-travel .nz-side{padding:16px 16px 0;gap:16px}
      #nz-travel .nz-brand{display:flex;align-items:center;gap:12px;padding:0}
      #nz-travel .nz-monogram{font-size:24px;margin:0}
      #nz-travel .nz-side-small,#nz-travel .nz-side-route{display:none}
      #nz-travel .nz-nav{flex-direction:row;gap:2px}
      #nz-travel .nz-nav button{justify-content:center;flex:1;padding:10px 3px;font-size:14px;gap:6px;border-radius:7px 7px 0 0;white-space:nowrap}
      #nz-travel .nz-topbar{padding:12px 16px;gap:5px;font-size:12px}
      #nz-travel .nz-page{padding:20px 16px}
      #nz-travel .nz-columns{grid-template-columns:minmax(0,1fr) 215px;gap:18px}
    }
    @media(max-width:550px){
      #nz-travel .nz-heading{align-items:flex-start}
      #nz-travel .nz-heading>.nz-badge{display:none}
      #nz-travel h1{font-size:23px}
      #nz-travel .nz-nav svg{display:none}
      #nz-travel .nz-days{display:none}
      #nz-travel .nz-mobile-picker{display:block}
      #nz-travel .nz-columns,#nz-travel .nz-prep-grid{grid-template-columns:1fr;gap:24px}
      #nz-travel .nz-life{display:grid;grid-template-columns:1fr 1fr}
      #nz-travel .nz-life-head{grid-column:1/-1}
      #nz-travel .nz-life-block{padding:12px}
      #nz-travel .nz-life-block+.nz-life-block{border-top:0}
      #nz-travel .nz-life-block:nth-child(even){border-right:1px solid var(--nz-line)}
      #nz-travel .nz-life-block:nth-child(n+4){border-top:1px solid var(--nz-line)}
      #nz-travel .nz-banner{height:133px}
      #nz-travel .nz-banner-text{padding:18px}
      #nz-travel .nz-banner h2{font-size:23px}
      #nz-travel .nz-overview-day{grid-template-columns:49px minmax(0,1fr);gap:12px}
      #nz-travel .nz-overview-stay{grid-column:2;margin-top:-8px}
    }
    #nz-travel .nz-mobile-tabs{display:none;margin-bottom:18px;gap:6px}
    #nz-travel .nz-mobile-tabs button{flex:1;min-height:44px;border:1px solid var(--nz-line);border-radius:7px;background:var(--nz-paper);color:var(--nz-ink);font-size:14px;padding:8px}
    #nz-travel .nz-mobile-tabs button[aria-pressed="true"]{background:var(--nz-soft);border-color:var(--nz-accent);color:var(--nz-accent)}
    @media(max-width:550px){#nz-travel .nz-mobile-tabs{display:flex}#nz-travel .nz-columns[data-mobile-section="timeline"]>.nz-life{display:none}#nz-travel .nz-columns[data-mobile-section="life"]>section{display:none}}
    @media(prefers-reduced-motion:reduce){#nz-travel *{transition:none!important}}
  
#nz-travel{max-width:1240px;margin:0 auto}
#nz-travel .nz-app{border-radius:0;border-top:0;border-bottom:0;min-height:100dvh;grid-template-columns:184px minmax(0,1fr)}
#nz-travel .nz-side{position:sticky;top:0;align-self:start;height:100dvh;z-index:3}
#nz-travel .nz-side-small{letter-spacing:.8px}
#nz-travel .nz-topbar{gap:8px 16px}
#nz-travel .nz-header-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
#nz-travel .nz-local-status{font-size:12px;color:var(--nz-muted)}
#nz-travel .nz-storage-error{color:var(--nz-warm-ink)}
#nz-travel .nz-map-link{display:inline-flex;align-items:center;gap:5px;color:var(--nz-accent);text-decoration:none;font-size:14px;min-height:36px;padding:6px 0;margin-top:4px}
#nz-travel .nz-map-link:hover{text-decoration:underline}
#nz-travel .nz-map-link svg{width:14px;height:14px}
#nz-travel .nz-event summary{min-height:30px}
#nz-travel .nz-life-block p{font-size:16px}
#nz-travel .nz-life-block small{font-size:14px}
#nz-travel .nz-event summary>span:first-child{font-size:16px}
#nz-travel .nz-event p{font-size:16px}
#nz-travel .nz-check-row strong{font-size:16px}
#nz-travel .nz-check-row small{font-size:14px}
#nz-travel .nz-pack-group h3{font-size:15px}
#nz-travel .nz-overview-stay{font-size:14px}
#nz-travel .nz-overview-day p{font-size:14px}
#nz-travel .nz-time{font-size:14px}
#nz-travel .nz-banner{height:150px}
#nz-travel .nz-heading{margin-bottom:20px}
#nz-travel .nz-content-error{margin:32px;font-size:16px}
@media(max-width:900px){#nz-travel .nz-app{grid-template-columns:162px minmax(0,1fr)}#nz-travel .nz-page{padding:22px}#nz-travel .nz-columns{grid-template-columns:minmax(0,1fr) 215px;gap:20px}}
@media(max-width:760px){#nz-travel .nz-app{display:block;border:0}#nz-travel .nz-side{position:relative;height:auto;padding-top:14px}#nz-travel .nz-page{padding:20px 18px}#nz-travel .nz-header-meta{gap:4px 12px}#nz-travel .nz-columns{grid-template-columns:minmax(0,1fr) 215px;gap:18px}#nz-travel .nz-topbar{padding:12px 18px}}
@media(max-width:550px){#nz-travel .nz-page{padding:20px 16px}#nz-travel .nz-columns{grid-template-columns:1fr}#nz-travel .nz-local-status{width:100%}#nz-travel .nz-topbar{display:block;padding:11px 16px}#nz-travel .nz-header-meta{justify-content:space-between;margin-top:3px}#nz-travel .nz-local-status{width:auto}#nz-travel .nz-banner{height:126px}#nz-travel .nz-event summary{min-height:40px;align-items:flex-start}#nz-travel .nz-life{grid-template-columns:1fr}#nz-travel .nz-life-block:nth-child(even){border-right:0}#nz-travel .nz-life-block+.nz-life-block{border-top:1px solid var(--nz-line)}#nz-travel .nz-life-block{padding:14px 16px}#nz-travel .nz-choice button{min-height:44px}#nz-travel .nz-next button{min-height:44px}#nz-travel .nz-map-link{min-height:44px}}
@media print{body{background:#fff}#nz-travel .nz-side,#nz-travel .nz-days,#nz-travel .nz-next,#nz-travel .nz-mobile-picker,#nz-travel .nz-mobile-tabs,#nz-travel .nz-local-status{display:none}#nz-travel .nz-app{display:block;border:0}#nz-travel .nz-page{padding:0}#nz-travel .nz-columns{display:block}#nz-travel .nz-columns>section,#nz-travel .nz-columns>.nz-life{display:block!important}#nz-travel .nz-life{margin-top:20px}#nz-travel .nz-banner{height:100px}}
