.travel-guide{--tg-ink: #173f43;--tg-rust: #a64c36;--tg-paper: #fffaf1;--tg-muted: #667970;--tg-bg: #e9e7de;--tg-line: #d7ccbb;--tg-card-line: #ded4c6;--tg-accent: #e1eeea;--tg-accent-line: #bad0c6;--tg-note: #faedda;--tg-legs: #f3eddf;--tg-link: #14777c;--tg-toc-h: 48px;background:var(--tg-bg);color:var(--tg-ink);font-family:PingFang SC,Microsoft YaHei,sans-serif;line-height:1.65}.travel-scroll{position:relative;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.travel-topbar{flex:none;display:flex;align-items:center;gap:10px;padding:10px 16px 8px;background:var(--bg)}.travel-back{flex:none;font-size:13px;color:var(--rose);letter-spacing:1px;padding:4px 2px}.travel-topbar-title{flex:1;min-width:0;font-size:14px;font-weight:600;color:var(--ink-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}.travel-toc{position:sticky;top:0;z-index:5;background:#f5f0e5;border-bottom:1px solid var(--tg-line)}.travel-toc[data-open=true]{box-shadow:0 18px 30px -18px #173f4373}.travel-toc-bar{display:flex;align-items:center;gap:6px;height:var(--tg-toc-h);padding:0 12px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.travel-toc-bar::-webkit-scrollbar{display:none}@media(min-width:977px){.travel-toc-bar,.travel-toc-panel{max-width:960px;margin:0 auto;padding-left:0;padding-right:0}}.travel-chip{flex:none;height:30px;padding:0 11px;border-radius:15px;font-size:13px;font-weight:650;color:var(--tg-ink);background:#fff9;box-shadow:inset 0 0 0 1px var(--tg-line)}.travel-chip[aria-current=true]{background:var(--tg-ink);color:var(--tg-paper);box-shadow:none}.travel-chip-toggle{color:var(--tg-rust)}.travel-toc-panel{max-height:min(62vh,520px);overflow-y:auto;padding:4px 16px 14px;border-top:1px dashed var(--tg-line)}.travel-toc-group{margin-top:10px;font-size:11px;font-weight:650;letter-spacing:1px;color:var(--tg-rust)}.travel-toc-link{display:flex;gap:8px;width:100%;text-align:left;padding:7px 0;font-size:14px;color:var(--tg-ink);border-bottom:1px solid #d7ccbb55}.travel-toc-link[aria-current=true]{color:var(--tg-rust);font-weight:650}.travel-toc-link small{flex:none;min-width:2.6em;color:var(--tg-muted);font-size:12px}.travel-doc{padding:4px 0 calc(40px + env(safe-area-inset-bottom))}.travel-sheet{max-width:960px;margin:12px 8px;background:var(--tg-paper);padding:22px 17px;border-radius:13px;box-shadow:0 5px 30px #183f4308}@media(min-width:681px){.travel-sheet{margin:24px auto;padding:42px;border-radius:20px}}@media(min-width:681px)and (max-width:976px){.travel-sheet{margin:24px 8px}}.travel-sheet-head{border-bottom:1px solid var(--tg-line);padding-bottom:17px;margin-bottom:20px}.travel-kicker,.travel-label{font-size:12px;font-weight:650;letter-spacing:1px;color:var(--tg-rust);overflow-wrap:anywhere}.travel-h1{font:600 31px/1.25 Songti SC,"Noto Serif SC",STSong,serif;margin:12px 0;color:var(--tg-ink)}@media(min-width:681px){.travel-h1{font-size:38px}}.travel-h1 em,.travel-em{font-style:normal;color:var(--tg-rust)}.travel-subtitle{margin:0;font-size:14px;color:var(--tg-muted)}.travel-guide h3{font-size:19px;line-height:1.45;margin:0 0 7px}.travel-guide p{margin:8px 0}.travel-guide a{color:var(--tg-link);text-underline-offset:3px;overflow-wrap:anywhere}.travel-guide ul,.travel-guide ol{padding-left:21px;margin:8px 0}.travel-guide li{margin:7px 0}.travel-small{font-size:12px;line-height:1.6;color:var(--tg-muted)}.travel-callout{border:1px solid var(--tg-card-line);background:#fff;padding:15px;border-radius:12px;margin:14px 0}@media(min-width:681px){.travel-callout{padding:18px}}.travel-callout>:first-child{margin-top:0}.travel-callout>:last-child{margin-bottom:0}.travel-callout-accent{background:var(--tg-accent);border-color:var(--tg-accent-line)}.travel-callout-strong{background:var(--tg-ink);border-color:var(--tg-ink);color:var(--tg-paper);font-size:15px;line-height:1.8}.travel-callout-strong a{color:#bfe3dc}.travel-callout-strong .travel-callout-title{display:block;font-size:26px;line-height:1.35;margin-bottom:4px}.travel-callout-warning{border:none;border-left:3px solid var(--tg-rust);border-radius:0;background:var(--tg-note);padding:9px 13px;font-size:13px}.travel-card{border:1px solid var(--tg-card-line);background:#fff;padding:15px;border-radius:12px;margin:14px 0}@media(min-width:681px){.travel-card{padding:19px}}.travel-card>h3{font-size:21px;margin-top:4px}.travel-timeline{margin:10px 0}.travel-time{display:grid;grid-template-columns:77px minmax(0,1fr);gap:9px;padding:13px 0;border-bottom:1px dashed #ddd3c3}@media(min-width:681px){.travel-time{grid-template-columns:105px minmax(0,1fr);gap:12px}}.travel-time-at{font-size:12px;font-weight:700;color:var(--tg-rust);overflow-wrap:anywhere}.travel-time-body>h3{font-size:17px}.travel-time-body p{font-size:15px;margin:4px 0}.travel-facts{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:11px 12px;margin:16px 0;padding:13px 14px;background:var(--tg-legs);border-radius:10px;font-size:13px}.travel-facts dt{font-weight:650}.travel-facts dd{margin:0;text-align:right;color:var(--tg-ink)}.travel-facts dd strong{color:var(--tg-rust)}.travel-facts-stacked{grid-template-columns:minmax(0,1fr);gap:2px}.travel-facts-stacked dd{text-align:left;margin-bottom:8px}.travel-facts-stacked dd:last-child{margin-bottom:0}.travel-figure{margin:10px 0}.travel-img{position:relative;width:100%;max-height:420px;margin:0 auto;border-radius:10px;background:#e4e7df;overflow:hidden}.travel-img img{display:block;width:100%;height:100%;object-fit:contain}.travel-img-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:12px;color:var(--tg-muted)}.travel-img-state button{font-size:12px;color:var(--tg-link);text-decoration:underline}.travel-figure figcaption{font-size:11px;color:var(--tg-muted);line-height:1.45;margin:5px 0}.travel-route{list-style:none;padding:16px 14px!important;margin:10px 0 16px!important;background:#fff;border:1px solid var(--tg-card-line);border-radius:12px}.travel-route li{margin:0}.travel-route-leg{display:flex;align-items:center;gap:8px;padding:4px 0 4px 26px;font-size:12px;color:var(--tg-rust)}.travel-route-leg:before{content:"";width:2px;height:22px;background:var(--tg-rust);border-radius:1px}.travel-route-leg span:before{content:"↓ "}.travel-route-row{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.travel-route-node{flex:1 1 150px;min-width:0;padding:9px 12px;border-radius:13px;background:var(--tg-accent);border:1px solid #adc9c1}.travel-route-node b{display:block;font-size:17px;line-height:1.35}.travel-route-node small{font-size:12px;color:var(--tg-muted)}.travel-route-node-return{background:#f6f3ea;border-style:dashed}.travel-route-spur{display:flex;align-items:center;gap:6px;flex:1 1 130px;min-width:0}.travel-route-spur-arrow{flex:none;font-size:12px;color:var(--tg-rust);text-align:center;line-height:1.2}.travel-route-loose{margin-top:10px;font-size:12px;color:var(--tg-muted)}.travel-edition{max-width:960px;margin:18px auto 0;padding:0 20px;font-size:11px;line-height:1.7;color:var(--tg-muted);text-align:center}.travel-list{flex:1;min-height:0;overflow-y:auto;padding:4px 22px 120px}.travel-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:14px 0}.travel-list-title{font-size:19px;font-weight:600;color:var(--ink-strong);letter-spacing:2px}.travel-list-sub{margin-top:2px;font-size:11.5px;color:var(--muted);letter-spacing:.5px}.travel-wish-link{flex:none;font-size:12.5px;color:var(--rose);letter-spacing:1px;padding:4px 0}.travel-trip-card{display:block;width:100%;text-align:left;margin-bottom:14px;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px #96827a1f,0 12px 26px -18px #785f588c}.travel-trip-cover{position:relative;aspect-ratio:16 / 9;background:linear-gradient(135deg,#e1eeea,#f4e7e4)}.travel-trip-cover img{width:100%;height:100%;object-fit:cover}.travel-trip-body{padding:13px 16px 15px}.travel-trip-name{font-size:18px;font-weight:600;color:var(--ink-strong);letter-spacing:1px}.travel-trip-meta{margin-top:3px;font-size:12.5px;color:var(--ink)}.travel-trip-foot{margin-top:6px;font-size:11px;color:var(--faint)}.travel-state{padding:60px 0;text-align:center;font-size:12.5px;color:var(--faint);line-height:2}.travel-state button{margin-top:8px;padding:6px 18px;border-radius:16px;color:var(--rose);box-shadow:inset 0 0 0 1px var(--rose-soft)}:root{--bg: #fbf8f5;--bg-deep: #f0e9e4;--card: #fff;--ink: #4f453f;--ink-strong: #544943;--muted: #a89a94;--label: #b0a29c;--faint: #c1b4ae;--line: rgba(176, 162, 156, .22);--rose: #bb8f89;--rose-soft: #cfa6a0;--rose-tint: #f4e7e4;--star: #c9a26b;--star-off: #e2dad4;color-scheme:light}.serif{font-family:"Noto Serif SC",Songti SC,STSong,SimSun,serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{font:15px/1.6 -apple-system,PingFang SC,Hiragino Sans GB,sans-serif;-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--ink);overscroll-behavior-y:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}input,textarea,select{font:inherit;color:inherit;width:100%}input:focus,textarea:focus,select:focus{outline:none}img{display:block;max-width:100%}.noscroll::-webkit-scrollbar{width:0;height:0}.noscroll{scrollbar-width:none}@keyframes up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes sheetIn{0%{transform:translateY(102%)}to{transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{transform:scale(.86);opacity:0}60%{transform:scale(1.04)}to{transform:scale(1);opacity:1}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes shine{0%{background-position:180% 0}to{background-position:-80% 0}}@keyframes crown{0%{transform:scale(.94);opacity:0}60%{transform:scale(1.03);opacity:1}to{transform:scale(1)}}@keyframes zap{0%,90%,to{transform:translate(0)}92%{transform:translate(-1.5px,1px)}94%{transform:translate(1.5px,-1px)}96%{transform:translate(-1px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
