:root{--paper:#f7f5ee;--white:#fffdf7;--ink:#173b32;--muted:#536c62;--line:#d8e0d7;--orange:#c76645;--purple:#73549a;--shadow:0 17px 45px rgba(24,55,43,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:83px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Microsoft YaHei UI","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif;line-height:1.65}button{font:inherit;cursor:pointer}a{color:inherit;text-underline-offset:3px}a:hover{color:#ac5739}button:focus-visible,a:focus-visible{outline:3px solid #e19a61;outline-offset:3px}.wrap{width:min(1200px,calc(100% - 52px));margin-inline:auto}
.site-header{position:relative;z-index:10;background:#fffdf8;border-bottom:1px solid var(--line)}.header-inner{height:68px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:900;letter-spacing:.06em;text-decoration:none;white-space:nowrap}.brand-seal{width:37px;height:37px;display:grid;place-items:center;background:var(--ink);color:#fff9e8;border-radius:50%;font:700 22px/1 "Songti SC","SimSun",serif;letter-spacing:0}.site-header nav{display:flex;gap:29px;font-size:13px;font-weight:700;color:var(--muted)}.site-header nav a{text-decoration:none}
.hero{background:radial-gradient(circle at 76% 20%,#d9e7da 0,transparent 35%),linear-gradient(115deg,#f4eddf 0%,#f9f6ee 49%,#eaf2e9 100%);border-bottom:1px solid #d7dfd5;overflow:hidden}.hero-grid{min-height:590px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:26px;padding:54px 0 46px}.hero-copy{position:relative;z-index:1}.kicker,.section-no{display:block;color:#ab6348;font-size:11px;font-weight:900;letter-spacing:.18em;line-height:1.4;text-transform:uppercase}.hero h1{font:700 clamp(44px,5.1vw,75px)/1.2 "Noto Serif CJK SC","Source Han Serif SC","Songti SC","SimSun",serif;letter-spacing:-.035em;margin:20px 0 23px}.hero h1 em{font-style:normal;color:#b55c3c}.hero-lead{max-width:565px;font-size:18px;line-height:1.9;color:#35584d;margin:0 0 22px}.hero-facts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}.hero-facts span{display:inline-flex;align-items:baseline;gap:4px;background:#fffdf7c9;border:1px solid #cfddd1;border-radius:100px;padding:5px 13px;color:#435f53;font-size:12px;font-weight:750}.hero-facts b{font-size:20px;line-height:1.2;color:#2b624f}.primary-link{display:inline-flex;align-items:center;gap:20px;background:var(--ink);border-radius:100px;color:#fff;padding:12px 21px 12px 25px;font-size:14px;font-weight:800;text-decoration:none;box-shadow:0 10px 24px #173b3233}.primary-link:hover{color:#fff;background:#265b4c}.hero-visual{position:relative;min-width:0;transform:rotate(-2deg)}.hero-visual svg{display:block;width:100%;filter:drop-shadow(0 26px 32px #3561481f)}.visual-caption{position:absolute;right:6%;bottom:4%;font-size:11px;font-weight:700;color:#4f6b5a;transform:rotate(2deg)}
.compare-section,.budget-section,.note-section{padding-top:72px;padding-bottom:76px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:25px}.section-title h2{font:700 clamp(30px,3.2vw,43px)/1.22 "Noto Serif CJK SC","Source Han Serif SC","Songti SC","SimSun",serif;letter-spacing:-.035em;margin:8px 0 0}.section-title>p{max-width:475px;color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 3px}.text-link{font-size:13px;font-weight:750;color:#9f593e;white-space:nowrap}
.route-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.route-card{--route-color:#c76645;width:100%;min-width:0;min-height:382px;display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:20px 22px 0;background:var(--white);border:1px solid #dbe3d9;border-radius:22px;color:var(--ink);box-shadow:0 8px 24px #1e4b3310;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.route-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.route-card.selected{border:2px solid var(--route-color);padding:19px 21px 0;box-shadow:0 12px 30px #1c47301c}.route-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px}.route-letter{width:43px;height:43px;display:grid;place-items:center;border-radius:14px;background:var(--route-color);color:#fff;font:900 22px/1 system-ui}.route-card-status{border:1px solid #dce4db;border-radius:100px;padding:4px 9px;color:#617668;font-size:11px;font-weight:800}.selected .route-card-status{background:color-mix(in srgb,var(--route-color) 12%,white);color:var(--route-color);border-color:color-mix(in srgb,var(--route-color) 30%,white)}.route-card-title{font:700 29px/1.25 "Noto Serif CJK SC","Songti SC",serif;letter-spacing:-.03em;margin-bottom:7px}.route-card-pitch{font-size:13px;line-height:1.75;color:#526b60;min-height:69px}.route-card-chain{display:flex;align-items:flex-start;justify-content:space-between;gap:1px;margin:12px -5px 18px;min-height:76px}.route-card-chain span{display:flex;flex-direction:column;min-width:0;align-items:center;flex:1;color:#254f42;font-size:13px;font-weight:850;white-space:nowrap}.route-card-chain span b{display:grid;place-items:center;width:31px;height:31px;border:1px solid color-mix(in srgb,var(--route-color) 38%,white);border-radius:50%;background:color-mix(in srgb,var(--route-color) 11%,white);color:var(--route-color);font-size:11px;margin-bottom:6px}.route-card-chain i{font-style:normal;color:#96a99a;margin-top:5px;font-size:16px}.route-card-bottom{display:flex;flex-wrap:wrap;gap:6px 11px;border-top:1px solid var(--line);padding:15px 0;color:#6b7d70;font-size:12px}.route-card-bottom b{color:#254e42;font-size:14px}.route-card-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;background:color-mix(in srgb,var(--route-color) 9%,white);color:var(--route-color);margin:auto -22px 0;padding:11px 22px;font-size:12px;font-weight:900}.route-card.selected .route-card-cta{margin-left:-21px;margin-right:-21px;background:var(--route-color);color:white}.method-strip{margin-top:19px;display:flex;gap:17px;align-items:flex-start;background:#e7eee4;border:1px solid #d5e1d3;border-radius:15px;padding:15px 19px;color:#4a6557;font-size:13px;line-height:1.75}.method-strip strong{color:#2b5947;white-space:nowrap}
.plan-section{background:#ecf1e9;border-block:1px solid #d9e4d9;padding:72px 0 81px}.selected-head{--route-color:#c76645;display:grid;grid-template-columns:1.6fr 1fr;gap:30px;align-items:center;background:var(--white);border:1px solid #dce4db;border-left:8px solid var(--route-color);border-radius:19px;padding:25px 29px;margin-bottom:20px;box-shadow:0 8px 24px #2446330a}.selected-head .kicker{color:var(--route-color);margin:0 0 7px}.selected-head h3{font:700 31px/1.3 "Noto Serif CJK SC","Songti SC",serif;margin:0 0 3px}.selected-head p{margin:0;color:#556e61;font-size:14px}.selected-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.selected-tags span{padding:4px 9px;border-radius:100px;background:#eef3ed;color:#3e6754;font-size:11px;font-weight:800}.selected-advice{border-left:1px solid var(--line);padding-left:29px;display:grid;gap:3px}.selected-advice b{font-size:12px;color:var(--route-color)}.selected-advice p{font-size:12px;line-height:1.55;margin:0 0 5px}.day-ribbon{display:flex;gap:10px;margin:0 0 23px;overflow-x:auto;padding-bottom:5px}.day-ribbon button{min-width:145px;flex:1;text-align:left;border:1px solid #d7e0d5;background:#fffdf8;border-radius:14px;padding:9px 12px;color:#2d5848}.day-ribbon button:hover{border-color:#89aa92;background:#fff}.day-ribbon small{display:inline-block;margin-right:7px;color:#bd674b;font-weight:900}.day-ribbon strong{font-size:14px}.day-ribbon span{display:block;margin-top:2px;color:#6c8070;font-size:11px;white-space:nowrap}
.plan-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(375px,.88fr);gap:22px;align-items:start}.day-list{display:grid;gap:19px;min-width:0}.day-card{--route-color:#c76645;background:var(--white);border:1px solid #dae4da;border-radius:19px;overflow:hidden;box-shadow:0 8px 23px #254b3710;scroll-margin-top:90px}.day-card-head{display:flex;align-items:flex-start;gap:16px;background:color-mix(in srgb,var(--route-color) 8%,white);padding:21px 23px 18px;border-bottom:1px solid #e5ebe3}.day-index{flex:none;display:grid;place-items:center;width:46px;height:46px;background:var(--route-color);color:#fff;border-radius:13px;font-size:17px;font-weight:900}.day-card-head div{min-width:0;flex:1}.day-card-head p{margin:0 0 2px;font-size:12px;color:var(--route-color);font-weight:900;letter-spacing:.04em}.day-card-head i{font-style:normal;color:#9cb0a0;margin:0 5px}.day-card h3{font:700 25px/1.35 "Noto Serif CJK SC","Songti SC",serif;margin:0}.day-time{font-size:11px;color:#667e6c;text-align:right;max-width:108px;padding-top:3px}.day-main{display:flex;align-items:center;gap:17px;justify-content:space-between;padding:19px 23px 16px}.main-point{min-width:0}.evidence-badge{display:inline-block;color:var(--route-color);font-size:11px;font-weight:900;letter-spacing:.02em}.main-point p{margin:5px 0 0;color:#3a584c;font-size:13px;line-height:1.75}.ticket-pill{flex:none;min-width:109px;text-align:center;padding:7px 10px;background:#f7e8df;border-radius:12px;color:#a65233}.ticket-pill.free{background:#e3f1e5;color:#377450}.ticket-pill small{display:block;font-size:10px}.ticket-pill strong{display:block;font-size:12px;line-height:1.5}.why-box{display:flex;gap:12px;margin:0 23px 16px;padding:15px 17px;background:#f1f5eb;border:1px solid #e0eadc;border-radius:12px}.why-icon{flex:none;color:#538468;font-size:23px;line-height:1.2}.why-box b,.day-logistics b,.day-sidecars b,.avoid b{color:#244e3d;font-size:12px}.why-box p{margin:2px 0 0;color:#456153;font-size:12px;line-height:1.8}.evidence-link{white-space:nowrap;font-weight:800;color:#9f5b3b}.day-logistics{display:grid;grid-template-columns:1fr 1fr;gap:13px;border-top:1px solid #e6ece4;border-bottom:1px solid #e6ece4;padding:14px 23px}.day-logistics p,.day-sidecars p{margin:3px 0 0;color:#536b5d;font-size:12px;line-height:1.75}.day-sidecars{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px 23px}.food-card,.sleep-card{display:flex;gap:9px;background:#faf5e9;border-radius:11px;padding:12px 13px;min-width:0}.sleep-card{background:#eef1f6}.food-card>span,.sleep-card>span{flex:none;color:#b87443;font-size:18px;line-height:1.1}.sleep-card>span{color:#607b9c}.sleep-card button{border:0;padding:0;background:none;color:#586c9a;text-decoration:underline;font-size:11px;font-weight:900;margin-top:4px;text-align:left}.last-night{background:#eaf1ea}.avoid{display:flex;align-items:flex-start;gap:9px;padding:12px 23px 16px;border-top:1px solid #eef0e9;font-size:11px;line-height:1.7;color:#765b4a}.avoid b{flex:none;color:#ae6441}
.map-panel{position:sticky;top:18px;background:#fffdf8;border:1px solid #d6e1d6;border-radius:19px;padding:19px;box-shadow:0 9px 26px #2e583913;min-width:0}.map-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.map-panel-head h3{font:700 25px/1.3 "Noto Serif CJK SC","Songti SC",serif;margin:4px 0 0}.live-tag{padding:5px 9px;border-radius:100px;background:#e7f1e4;color:#337456;font-size:10px;font-weight:900;white-space:nowrap}.map-intro,.map-fineprint{margin:9px 0 12px;color:#617665;font-size:11px;line-height:1.7}.map-focus,.stay-focus{display:flex;gap:5px;align-items:center;flex-wrap:wrap;padding:0 0 11px}.map-focus strong,.stay-focus strong{font-size:11px;margin-right:4px;white-space:nowrap}.map-focus button,.stay-focus button{border:1px solid #c8d7c8;border-radius:100px;background:#f8fbf6;padding:4px 9px;color:#4a6b57;font-size:10px;font-weight:800}.map-focus button[aria-pressed="true"],.stay-focus button[aria-pressed="true"]{background:#315d4d;border-color:#315d4d;color:#fff}.map-stage{position:relative;aspect-ratio:1.37;min-height:310px;border-radius:13px;overflow:hidden;background:#e4efe3;border:1px solid #d6e4d9}.real-map,.map-fallback{position:absolute;inset:0;width:100%;height:100%}.real-map{z-index:1;visibility:hidden}.map-fallback{z-index:0}.map-fallback svg{width:100%;height:100%;display:block}.map-stage.is-live .real-map{visibility:visible}.map-stage.is-live .map-fallback{display:none}.map-status{position:absolute;left:9px;bottom:9px;z-index:2;max-width:calc(100% - 18px);background:#fffdf7e8;border:1px solid #e2e8de;border-radius:8px;padding:5px 8px;color:#4a6557;font-size:10px;pointer-events:none}.map-key{display:flex;flex-wrap:wrap;gap:16px;margin:10px 0 8px;color:#64756c;font-size:10px}.map-key span{display:inline-flex;align-items:center;gap:5px}.map-key i{width:19px;height:7px;display:inline-block}.key-route{background:#c76645;border-radius:7px}.key-hotel{background:#e9d6f3;border:2px dashed #73549a;border-radius:3px}.stay-focus{border-top:1px solid #e3e9e0;padding:10px 0 0}.map-fineprint{border-top:1px solid #e9eee5;padding-top:10px;margin:9px 0 0}.map-pin,.hotel-pin{width:29px;height:29px;display:grid;place-items:center;border:3px solid white;border-radius:50%;background:var(--route-color);color:#fff;font-size:12px;font-weight:900;box-shadow:0 2px 7px #163b32a1;line-height:1}.hotel-pin{width:27px;height:27px;background:#73549a}.popup{display:grid;gap:3px;font-size:12px;color:#244839}.popup span{color:#5d7566}.popup a{color:#a95c43;font-weight:800}
.budget-section{padding-top:72px}.budget-overview{--route-color:#c76645;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;border-radius:17px;background:#e2e7dc;border:1px solid #e2e7dc;margin-bottom:18px}.budget-overview>div{display:flex;flex-direction:column;background:#fffdf8;padding:20px 24px;border-top:5px solid var(--route-color)}.budget-overview span{color:#5b7565;font-size:12px;font-weight:800}.budget-overview strong{font:800 27px/1.45 system-ui;color:#234f3c;margin:4px 0}.budget-overview small{color:#778a79;font-size:11px;line-height:1.5}.arrival-note{background:#e8f1e8;border:1px solid #d6e5d5;border-radius:12px;padding:15px 19px;margin:0 0 34px}.arrival-note strong{font-size:13px;color:#2e6a49}.arrival-note p{margin:3px 0 0;color:#526d5b;font-size:12px;line-height:1.75}.arrival-note a,.price-footnote a{color:#a95b3a;font-weight:800}.subsection-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 13px}.subsection-heading h3{font:700 25px/1.3 "Noto Serif CJK SC","Songti SC",serif;margin:0}.subsection-heading p{max-width:600px;color:#607467;font-size:12px;text-align:right;margin:0}.table-scroll{overflow-x:auto;border:1px solid #dce4d9;border-radius:14px;background:#fffdf8}.travel-table{width:100%;border-collapse:collapse;min-width:810px;table-layout:fixed;font-size:12px}.travel-table th{background:#22483a;color:#fff;font-size:11px;letter-spacing:.04em;text-align:left;padding:12px 15px}.travel-table th:first-child{width:18%}.travel-table th:nth-child(2),.travel-table th:nth-child(3){width:26%}.travel-table th:last-child{width:30%}.travel-table td{vertical-align:top;padding:14px 15px;line-height:1.75;color:#466053;border-top:1px solid #e7ece5}.travel-table tbody tr:nth-child(even){background:#f7f9f4}.travel-table td strong{display:block;color:#274d3d;font-size:13px}.travel-table td small{display:block;color:#77907b;font-size:11px}.travel-table td a{display:inline-block;margin-top:4px;color:#a6593a;font-weight:800}.price-footnote{color:#677a6e;font-size:11px;line-height:1.75;margin:10px 0 0}.hotel-heading{margin-top:39px}.hotel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.hotel-card{display:flex;flex-direction:column;min-width:0;background:#fffdf8;border:1px solid #dce4da;border-radius:14px;padding:18px 19px}.hotel-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#73549a;font-size:11px;font-weight:800}.hotel-card-top strong{font-size:16px;white-space:nowrap}.hotel-card h4{font:700 20px/1.35 "Noto Serif CJK SC","Songti SC",serif;margin:12px 0 4px}.hotel-card p{margin:0;color:#4d6858;font-size:12px;line-height:1.7}.hotel-card small{display:block;color:#7a8776;font-size:11px;line-height:1.7;margin:7px 0 13px}.hotel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:auto}.hotel-actions button{background:#73549a;border:0;border-radius:100px;color:#fff;font-size:11px;font-weight:850;padding:7px 11px}.hotel-actions a{color:#73549a;font-size:11px;font-weight:800}
.note-section{padding-top:42px;border-top:1px solid var(--line)}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.check-grid article{background:#eef2e9;border:1px solid #dce6d9;border-radius:14px;padding:18px 20px}.check-grid span{font-size:11px;font-weight:900;color:#b56c48}.check-grid h3{font-size:17px;margin:5px 0}.check-grid p{margin:0;color:#587164;font-size:12px;line-height:1.75}.research-note{color:#718376;font-size:11px;line-height:1.8;margin:19px 0 0}.site-footer{background:#1c4034;color:#e8f0e6}.site-footer .wrap{display:flex;justify-content:space-between;gap:15px;padding:23px 0;font-size:12px}.site-footer span{color:#c4d6c7}.noscript{padding:20px;margin:0;background:#fff0df;color:#9c5736;text-align:center}
@media(max-width:1050px){.hero-grid{min-height:520px}.plan-layout{grid-template-columns:1fr}.map-panel{position:static}.map-stage{aspect-ratio:2.1;min-height:340px}.route-card{padding-inline:17px}.route-card.selected{padding-inline:16px}.route-card-cta{margin-inline:-17px;padding-inline:17px}.route-card.selected .route-card-cta{margin-inline:-16px}.route-card-title{font-size:25px}.route-card-chain span{font-size:11px}}
@media(max-width:760px){.wrap{width:min(100% - 32px,620px)}.header-inner{height:61px}.site-header nav{gap:13px;font-size:11px}.brand{font-size:12px}.brand-seal{width:32px;height:32px;font-size:19px}.hero-grid{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;padding:48px 0 25px}.hero h1{font-size:clamp(40px,10vw,64px)}.hero-lead{font-size:15px}.hero-visual{align-self:center;width:min(100%,430px);margin-top:10px}.compare-section,.budget-section,.note-section{padding-top:48px;padding-bottom:52px}.plan-section{padding:49px 0 55px}.section-title{align-items:start;flex-direction:column;gap:8px}.section-title>p{max-width:none}.route-cards{grid-template-columns:1fr}.route-card{min-height:0;padding:17px 18px 0}.route-card.selected{padding:16px 17px 0}.route-card-top{margin-bottom:9px}.route-card-pitch{min-height:0}.route-card-chain{min-height:0;max-width:420px;margin:12px 0 11px}.route-card-bottom{padding:10px 0}.route-card-cta{margin:0 -18px;padding:10px 18px}.route-card.selected .route-card-cta{margin:0 -17px}.method-strip{flex-direction:column;gap:2px}.selected-head{grid-template-columns:1fr;gap:14px;padding:21px}.selected-advice{border-left:0;border-top:1px solid var(--line);padding:14px 0 0}.day-ribbon{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.day-ribbon button{min-width:0}.budget-overview{grid-template-columns:1fr 1fr}.budget-overview>div:last-child{grid-column:1/-1}.hotel-grid,.check-grid{grid-template-columns:1fr}.hotel-card{min-height:0}.subsection-heading{display:block}.subsection-heading p{text-align:left;margin-top:5px}.map-stage{aspect-ratio:1.45;min-height:290px}.site-footer .wrap{display:block}.site-footer span{display:block;margin-top:4px}}
@media(max-width:480px){.site-header nav a:nth-child(2){display:none}.hero-facts{gap:5px}.hero-facts span{font-size:11px;padding:4px 9px}.day-card-head{gap:10px;padding:17px 15px}.day-index{width:38px;height:38px;font-size:14px}.day-card h3{font-size:21px}.day-time{max-width:85px;font-size:10px}.day-main{padding:15px;align-items:flex-start}.ticket-pill{min-width:83px;font-size:10px}.why-box{margin:0 15px 13px;padding:12px}.day-logistics,.day-sidecars{grid-template-columns:1fr;padding:13px 15px}.avoid{padding:12px 15px}.map-panel{padding:14px}.map-stage{aspect-ratio:auto;height:270px;min-height:0}.budget-overview{grid-template-columns:1fr}.budget-overview>div:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.site-header,.primary-link,.map-focus,.stay-focus,.hotel-actions,.map-status{display:none!important}.hero-grid,.plan-layout{display:block}.hero-visual{display:none}.map-panel{position:static;box-shadow:none}.map-stage{height:260px}.route-card,.day-card,.hotel-card{break-inside:avoid}.route-cards{grid-template-columns:repeat(3,1fr)}.selected-head,.budget-overview{break-inside:avoid}body{background:white}}

/* Compact entry points on the itinerary; the full guide lives on spot.html. */
.guide-preview{margin:0 23px 17px;padding:15px 16px;background:#fff9ef;border:1px solid #eadcc8;border-radius:13px}.guide-preview-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}.guide-preview-head b{font-size:13px;color:#604b38}.guide-preview-head span{font-size:11px;color:#8d7964}.guide-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:9px}.guide-link{display:flex;flex-direction:column;gap:3px;min-width:0;padding:11px 12px;border-radius:10px;border:1px solid #e7d9c8;background:#fffdf9;text-decoration:none;transition:border-color .2s ease,transform .2s ease}.guide-link:hover{border-color:var(--route-color);transform:translateY(-2px);color:var(--ink)}.guide-link-title{color:#234b3d;font-size:13px;font-weight:850}.guide-link-teaser{color:#647263;font-size:11px;line-height:1.6}.guide-link-action{margin-top:auto;padding-top:5px;color:var(--route-color);font-size:11px;font-weight:900}.food-card>div{min-width:0}.food-card b{line-height:1.5}.food-card .food-dish{color:#79634b}.food-actions{display:flex;flex-wrap:wrap;gap:4px 11px;margin-top:8px}.food-actions a{color:#98613e;font-size:11px;font-weight:800}
@media(max-width:480px){.guide-preview{margin:0 15px 13px;padding:12px}.guide-preview-head{display:block}.guide-preview-head span{display:block}.guide-links{grid-template-columns:1fr}}

.day-title-focus{border:0;background:none;color:inherit;padding:0;text-align:left;line-height:inherit;cursor:pointer}.day-title-focus:hover{color:var(--route-color)}.day-title-focus span{color:var(--route-color);font:800 19px/1 system-ui;vertical-align:middle}.guide-choice{display:flex;flex-direction:column;min-width:0}.guide-choice .guide-link{flex:1}.guide-map-button{margin-top:5px;padding:5px 7px;border:0;background:none;color:#547860;font-size:11px;font-weight:900;text-align:left;text-decoration:underline}.guide-map-button:hover{color:var(--route-color)}.spot-focus{display:flex;gap:5px;align-items:center;flex-wrap:wrap;border-top:1px solid #e8ede5;padding:10px 0 12px}.spot-focus strong{font-size:11px;margin-right:4px;white-space:nowrap}.spot-focus button{border:1px solid #c8d7c8;border-radius:100px;background:#fffdf8;padding:4px 9px;color:#4a6b57;font-size:10px;font-weight:800}.spot-focus button[aria-pressed="true"]{background:#315d4d;border-color:#315d4d;color:#fff}.map-sub-pin{width:23px;height:23px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:var(--route-color);color:#fff;font-size:13px;font-weight:900;line-height:1;box-shadow:0 2px 7px #163b32a1}.reservation-card{margin:0 23px 16px;padding:14px 17px;background:#edf4f7;border:1px solid #cfdfe6;border-radius:12px;color:#365769}.reservation-card>div:first-child{display:flex;align-items:center;gap:7px}.reservation-card b{font-size:13px;color:#315669}.reservation-icon{font-size:19px;color:#567f90}.reservation-card p{margin:5px 0 0;font-size:12px;line-height:1.8}.reservation-sources{margin-top:9px;font-size:11px;line-height:1.6}.reservation-sources a{color:#3b7085;font-weight:850}
@media(max-width:480px){.reservation-card{margin:0 15px 13px;padding:12px}.spot-focus button{font-size:10px}}
@media print{.guide-map-button,.spot-focus{display:none!important}}

.route-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.city-plan-picker{padding:17px 23px 19px;border-bottom:1px solid #e0e8df;background:#fbfcf8}.city-plan-head{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:11px}.city-plan-head span{display:block;color:var(--route-color);font-size:10px;letter-spacing:.13em;font-weight:900}.city-plan-head h4{margin:2px 0 0;font:700 19px/1.35 "Noto Serif CJK SC","Songti SC",serif}.city-plan-head small{max-width:200px;color:#718273;font-size:10px;text-align:right}.city-plan-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.city-plan-option{display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px 11px;border:1px solid #d5dfd2;border-radius:11px;background:#fff;text-align:left;color:#355648;line-height:1.45}.city-plan-option:hover{border-color:var(--route-color)}.city-plan-option.selected{border:2px solid var(--route-color);padding:11px 10px;background:color-mix(in srgb,var(--route-color) 7%,white);box-shadow:0 5px 14px #254a3515}.city-plan-option strong{font-size:13px;color:#214736}.city-plan-option small{font-size:10px;font-weight:800;color:var(--route-color)}.city-plan-option span{font-size:11px;color:#4d6758}.city-plan-option em{font-size:10px;font-style:normal;color:#7a8275;margin-top:auto}.city-plan-option.selected strong::after{content:" ✓";color:var(--route-color)}
@media(max-width:760px){.route-cards{grid-template-columns:1fr}.city-plan-picker{padding:14px 17px}.city-plan-options{grid-template-columns:1fr}.city-plan-option{gap:2px}.city-plan-head{display:block}.city-plan-head small{display:block;text-align:left;max-width:none;margin-top:4px}}
@media(max-width:480px){.city-plan-picker{padding:13px 15px}}
@media(max-width:480px){.day-main{display:grid;grid-template-columns:minmax(0,1fr);gap:11px}.ticket-pill{justify-self:start;min-width:0;text-align:left;padding:8px 11px}.ticket-pill strong{font-size:12px}}
.key-city{border-top:3px dashed #8264a5;margin-top:4px}
.city-plan-options.two-options{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.city-plan-options.two-options{grid-template-columns:1fr}}

.city-plan-options{grid-template-columns:repeat(2,minmax(0,1fr))}
.city-plan-item{min-width:0;display:flex;flex-direction:column;border:1px solid #dce5d9;border-radius:12px;background:#fff;overflow:hidden}
.city-plan-option{width:100%;flex:1;border:0;border-radius:0;cursor:pointer}
.city-plan-option:hover{border:0;background:#f4f9f4}
.city-plan-option.selected,.city-plan-option.selected:hover{border:2px solid var(--route-color);padding:10px 9px;box-shadow:none}
.city-plan-option .plan-photo{position:relative;display:block;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:7px;background:#e7eee7;margin-bottom:5px}
.city-plan-option .plan-photo img{display:block;width:100%;height:100%;object-fit:cover}
.city-plan-option .plan-photo>span{position:absolute;left:7px;bottom:7px;padding:3px 6px;border-radius:4px;background:#153d2cdd;color:#fff;font-size:10px;font-weight:800}
.city-plan-refs{display:flex;flex-wrap:wrap;gap:3px 9px;padding:7px 11px 10px;border-top:1px solid #e9eee6;font-size:10px;line-height:1.45}
.city-plan-refs a{color:#476d5d;text-decoration:underline;text-underline-offset:2px}
.city-plan-refs a:hover{color:#133e2d}
@media(max-width:760px){.city-plan-options{grid-template-columns:1fr}.city-plan-option .plan-photo{aspect-ratio:2.35/1}.city-plan-item{max-width:620px}}
@media print{.route-cards{grid-template-columns:repeat(2,1fr)}}

/* On phones the map opens over the current day instead of living below every day card. */
.mobile-map-trigger,.mobile-map-close,.mobile-map-context{display:none}
@media(max-width:760px){
  body.mobile-map-open{overflow:hidden}
  .mobile-map-trigger{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:25;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:9px 17px;border:0;border-radius:100px;background:#1d503f;color:#fff;font-size:13px;font-weight:850;box-shadow:0 9px 28px #173b3266}
  .mobile-map-trigger span{font-size:23px;line-height:1}
  body.mobile-map-open .mobile-map-trigger{visibility:hidden;pointer-events:none}
  .map-panel{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;width:100%;height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;padding:0;border:0;border-radius:0;background:#fffdf8;box-shadow:none;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(16px);transition:opacity .2s ease,transform .2s ease}
  .map-panel.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:none}
  .map-panel-head{position:sticky;top:0;z-index:4;flex:none;min-height:70px;padding:10px 16px;background:#fffdf8;border-bottom:1px solid #dce6dc;order:0}
  .map-panel-head h3{font-size:22px;margin-top:1px}
  .map-panel-head .section-no{font-size:9px}
  .map-panel-head .live-tag{display:none}
  .mobile-map-close{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:7px 12px;border:1px solid #cbdacc;border-radius:100px;background:#f1f6ef;color:#28533f;font-size:12px;font-weight:850;white-space:nowrap}
  .mobile-map-close span{font-size:19px;line-height:1}
  .mobile-map-context{display:block;flex:none;order:1;margin:0;padding:9px 16px;background:#eaf2e8;color:#285c45;font-size:13px;font-weight:850;line-height:1.5}
  .map-panel .map-stage{order:2;flex:none;width:100%;height:min(52dvh,520px);min-height:280px;aspect-ratio:auto;border:0;border-radius:0}
  .map-panel .map-status{font-size:11px;line-height:1.4;padding:7px 10px;bottom:12px;left:12px;max-width:calc(100% - 24px)}
  .map-panel .map-key{order:3;margin:0;padding:11px 16px;gap:8px 15px;border-bottom:1px solid #e8ede6;font-size:11px}
  .map-panel .map-focus{order:4}
  .map-panel .spot-focus{order:5}
  .map-panel .stay-focus{order:6}
  .map-panel .map-focus,.map-panel .spot-focus,.map-panel .stay-focus{flex:none;margin:0;padding:14px 16px;gap:8px;border-bottom:1px solid #e7ede5}
  .map-panel .map-focus strong,.map-panel .spot-focus strong,.map-panel .stay-focus strong{width:100%;font-size:12px}
  .map-panel .map-focus button,.map-panel .spot-focus button,.map-panel .stay-focus button{min-height:40px;padding:7px 11px;font-size:12px}
  .map-panel .map-intro{order:7;margin:0;padding:14px 16px 4px;font-size:11px}
  .map-panel .map-fineprint{order:8;margin:0;padding:8px 16px calc(18px + env(safe-area-inset-bottom));font-size:11px}
}
@media print{.mobile-map-trigger,.mobile-map-close,.mobile-map-context{display:none!important}.map-panel{position:static!important;height:auto!important;overflow:visible!important;visibility:visible!important;opacity:1!important;transform:none!important}}
