/* Real photography and quiet editorial typography. No external fonts. */
.itinerary-list .chapter-card{padding:0 0 24px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}.itinerary-list .day-detail{padding:0;border:0;border-radius:0}.platform-entry{display:flex;align-items:center;gap:18px;border-block:1px solid var(--line);padding:19px 0;margin-top:22px}.platform-entry>div{min-width:0}.platform-entry h3{font-size:18px;margin:0 0 5px}.platform-entry p{font-size:14px;color:var(--muted);margin:0;line-height:1.75}.platform-entry>a{flex:none;font-size:13px;min-height:44px}
:root{--ink:#252923;--muted:#6c7068;--paper:#fff;--white:#fff;--line:#e4e6df;--accent:#8b422e;--warm:#8b422e;--gold:#79694d;--soft:#f4f3ef;--shadow:0 8px 28px #24291d0c;--radius:6px;--nav-height:68px;background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
body{background:#fff}h1,h2,h3{color:var(--ink)}h1,h2,.chapter-card h3{font-family:"Songti SC","STSong","SimSun",Georgia,serif;letter-spacing:.02em;font-weight:600}button,.button-link{border-radius:5px}button[aria-pressed="true"],.primary{background:var(--accent);border-color:var(--accent);color:#fff}.primary:hover{background:#783624}button:not(:disabled):active,.button-link:active{transform:none}
.app-shell{max-width:1120px}.app-header{padding:calc(17px + env(safe-area-inset-top,0px)) 20px 15px;border-bottom:0;align-items:center;background:#fff;gap:8px}.header-title h1{font-size:29px;letter-spacing:.09em;line-height:1.2;margin:0}.header-title .eyebrow{font-size:9px;letter-spacing:1.25px;color:var(--muted);margin:0 0 7px}.trip-dates{font-size:12px;margin:8px 0 0;letter-spacing:.04em}.header-actions{gap:0}.offline-status{font-size:12px;padding:8px 9px;border-color:var(--line);border-radius:5px;min-height:44px}.offline-status svg{width:15px}.text-button{border:0;background:none;font-size:12px;color:var(--muted);padding:8px}.status-dot{width:5px;height:5px}.section-kicker{display:block;color:var(--accent);font-size:11px;letter-spacing:.11em;margin-bottom:9px}
.trip-controls{padding:0;background:#fff;position:sticky;top:0;z-index:800;border-block:1px solid var(--line)}.day-buttons{padding:0 16px;gap:4px;display:flex;overflow-x:auto;scrollbar-width:none}.day-buttons::-webkit-scrollbar{display:none}.day-buttons button{flex:1 0 auto;min-width:52px;min-height:50px;border:0;border-bottom:2px solid transparent;border-radius:0;padding:13px 8px;background:transparent;color:var(--muted);font-size:13px;white-space:nowrap}.day-buttons button[aria-pressed="true"]{color:var(--accent);background:transparent;border-bottom-color:var(--accent);font-weight:700}.day-buttons button:hover{background:#faf9f6}.return-strip{display:none}
.list-view{padding:26px 20px;max-width:none}.view-heading{margin:0 0 22px;max-width:690px}.view-heading h2{font-size:27px;line-height:1.4}.view-heading .muted{font-size:16px;margin:9px 0 0}.itinerary-list{display:grid;gap:22px;grid-template-columns:1fr}#view-itinerary{padding-top:0}.journey-cover{margin:0 -20px 36px}
.cover-photograph{position:relative;isolation:isolate;overflow:hidden;background:#484837;min-height:410px}.cover-photograph>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 50%}.cover-photograph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#10161010 0%,#10161036 28%,#101610c9 100%);z-index:0}.cover-caption{position:relative;z-index:1;padding:100px 25px 57px;color:#fff;max-width:690px}.cover-eyebrow{font-size:11px;letter-spacing:.17em;margin:0 0 17px;color:#f3ead8}.cover-caption h2{font-size:38px;color:#fff;line-height:1.45;letter-spacing:.06em;margin:0 0 15px;text-shadow:0 1px 8px #0003}.cover-caption>p:not(.cover-eyebrow){font-size:15px;line-height:1.85;margin:0 0 21px;color:#f0eee8}.cover-caption button{border:1px solid #ffffff83;border-radius:3px;background:#ffffff13;color:#fff;min-height:48px;padding:11px 17px;font-size:14px;display:inline-flex;gap:35px;align-items:center}.cover-caption button:hover{background:#ffffff26!important}.photo-location{position:absolute;bottom:16px;right:20px;color:#f3eee4;font-size:10px;z-index:1}
.trip-facts{margin:0 20px;display:grid;grid-template-columns:1.35fr 1fr 1fr;border-bottom:1px solid var(--line);padding:22px 0;gap:12px}.trip-facts>div{min-width:0;padding-left:14px;border-left:1px solid var(--line)}.trip-facts>div:first-child{padding:0;border:0}.trip-facts dt{font-size:11px;color:var(--muted);margin-bottom:8px}.trip-facts dd{margin:0;font:600 20px/1.4 Georgia,serif;white-space:nowrap}.trip-facts dd span{font-size:12px;font-weight:400;color:var(--muted)}.return-note{display:flex;gap:12px;padding:18px 20px 0;align-items:flex-start}.note-label{flex:none;writing-mode:vertical-rl;font-size:10px;letter-spacing:.12em;color:var(--accent);padding:1px 7px 1px 0;border-right:1px solid #dec7bc;line-height:1.5}.return-note p{margin:0;font-size:13px;line-height:1.75}.return-note small{font-size:12px;display:inline-block;line-height:1.6;color:var(--muted)}.return-note strong{font-weight:600}
.chapter-card{min-width:0;border:0;border-bottom:1px solid var(--line);padding-bottom:24px;background:#fff}.chapter-photo{position:relative;overflow:hidden;margin:0;background:#e9e8df;aspect-ratio:16/10}.chapter-photo img{display:block;width:100%;height:100%;object-fit:cover}.chapter-photo::after{content:"";position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0006);pointer-events:none}.chapter-photo figcaption{position:absolute;bottom:11px;right:13px;left:70px;text-align:right;z-index:1;color:white;font-size:11px;text-shadow:0 1px 4px #0008}.chapter-index{position:absolute;top:15px;left:16px;font:italic 43px/1 Georgia,serif;color:white;text-shadow:0 2px 8px #0005}.chapter-copy{padding:17px 0 0}.chapter-meta{font-size:12px;line-height:1.5;color:var(--accent);margin:0 0 9px;font-weight:600;display:flex;flex-wrap:wrap;gap:5px 12px}.chapter-meta span{font-weight:400;color:var(--muted)}.chapter-card h3{font-size:26px;line-height:1.4;margin:0 0 9px}.chapter-copy>p:not(.chapter-meta){font-size:16px;line-height:1.75;margin:0 0 9px;color:var(--muted)}.chapter-copy .chapter-highlights{font-size:12px!important;color:#686b61!important;line-height:1.7;margin-top:14px!important}.chapter-open{display:flex;justify-content:space-between;border:0;border-bottom:1px solid #ccb0a1;border-radius:0;padding:10px 0 7px;margin-top:4px;min-height:44px;background:transparent;color:var(--accent);font-size:14px}.chapter-open:hover{background:transparent!important;color:#54251c}
.day-intro{display:flex;justify-content:space-between;gap:10px;padding:20px 0 17px}.day-intro button{font-size:13px;border:0;background:none;padding:10px 0;color:var(--accent)}.day-detail{border:0;border-radius:0;background:#fff;box-shadow:none;padding:0;overflow:visible}.day-detail>.chapter-photo{margin-bottom:23px;aspect-ratio:16/9}.day-detail .day-head{padding:0 0 15px;align-items:center;border-bottom:1px solid var(--line);margin-bottom:16px}.day-detail .day-head h3{font:600 24px/1.5 "Songti SC","STSong",serif}.day-number{font:italic 39px/1 Georgia,serif;border:0;border-radius:0;width:45px;height:50px;background:none;color:var(--accent)}.day-head .eyebrow{font-size:11px;letter-spacing:.05em;color:var(--muted)}.day-detail>p:not(.notice){font-size:16px;color:var(--muted)}.stop-list{padding-left:0}.stop-btn{padding-top:16px;padding-bottom:16px;column-gap:15px}.stop-time{font-variant-numeric:tabular-nums;color:var(--accent);font-size:13px;line-height:1.5}.stop-name{font-size:17px;font-weight:650}.stop-note{font-size:16px!important;color:var(--muted);line-height:1.75!important}.stop-name>span{color:var(--accent)}.notice{border-radius:4px;background:#f6f5f0;color:#68634f;border-color:#e4e2d5;font-size:16px}.stay-open,.secondary-action{border:1px solid #dcdcd4;background:#f6f5f1;border-radius:4px;color:var(--ink);font-size:15px}
.editorial-footer{margin-top:32px;padding:22px 0 0;text-align:center;border-top:1px solid var(--line);color:var(--muted)}.editorial-footer p{font-family:"Songti SC","STSong",serif;letter-spacing:.08em;font-size:18px;margin:0 0 5px}.editorial-footer button{background:none;border:0;border-radius:0;font-size:12px;color:var(--muted);padding:10px}
.map-view{padding:24px 14px 0}.map-heading-row{padding:0 6px 16px}.map-heading-row h2{font-size:25px}.map-heading-row .muted{font-size:14px}.fit-button{border-radius:4px}.map-mode{gap:6px;margin-bottom:12px}.map-mode button{font-size:13px;border-radius:4px;min-height:44px}.map-mode>span{font-size:13px}.map-frame{border-radius:5px;border-color:#dedfd7;background:#f5f7fa}.map-frame .trip-map{height:52dvh;min-height:340px}.map-legend{background:#ffffffed;border-color:#dedfd7;border-radius:3px;font-size:10px;gap:10px;color:#57604e}.trip-map,.detail-map,.leaflet-container{background:#f5f7fa}.coverage-note{font-size:13px;color:var(--muted)}.search-field{border-radius:4px;background:#fff}.search-label{font-size:13px}.leaflet-bar{border-radius:4px!important;border-color:#d3d6cb!important;box-shadow:0 2px 5px #24291d10!important}.leaflet-tooltip{background:#fffffff2;border-color:#d3d6cb;color:var(--ink);box-shadow:none}.leaflet-popup-content-wrapper{border-radius:6px}
.stays-list{gap:22px}.stay-card{background:#fff;border-radius:0;padding:22px;border:1px solid var(--line);box-shadow:none}.stay-card.current-stay{border-color:#d4cec1;box-shadow:inset 0 3px 0 #8b422e}.stay-card h3{font:600 27px/1.5 "Songti SC","STSong",serif}.stay-card .badge{background:#f3eee4;color:#785039;border-radius:3px}.stay-dates{font-size:12px}.stay-meta>div{border-color:var(--line)}
.food-editor-note{border-block:1px solid var(--line);padding:19px 0;margin:0 0 23px;display:flex;gap:20px;align-items:flex-start}.food-editor-note>span{font:600 21px/1.3 "Songti SC","STSong",serif;writing-mode:vertical-rl;letter-spacing:.13em;color:var(--accent);flex:none}.food-editor-note p{margin:0;color:var(--muted);font-size:16px;line-height:1.8}.food-controls{background:#f6f5f1;border:0;border-radius:5px;padding:18px}.food-controls label{font-size:14px;font-weight:600}.food-controls select{border-radius:4px;font-size:16px;min-width:0;max-width:100%}.food-controls .muted{font-size:14px}.food-actions button{font-size:14px;padding:11px 8px}.radius-control select{max-width:145px}.food-results{gap:0}.food-card{padding:24px 0;background:#fff;border:0;border-bottom:1px solid var(--line);border-radius:0}.food-source{display:block;font-size:11px;letter-spacing:.08em;color:var(--accent);margin:0 0 9px}.food-card h3{font:600 23px/1.5 "Songti SC","STSong",serif}.food-card .food-meta{font-size:14px;line-height:1.8}.food-card-actions{gap:7px}.food-card-actions>*{border-radius:4px;font-size:13px;padding:9px 10px;min-height:44px}.food-card-actions>*:first-child{border-color:#c5b3a5;color:var(--accent)}.food-subtitle{font:600 27px/1.5 "Songti SC","STSong",serif;margin-top:34px;margin-bottom:4px}
.bottom-nav{background:#fff;border-top:1px solid var(--line);box-shadow:0 -3px 12px #24291d05;backdrop-filter:none;border-radius:0;padding:6px 12px calc(6px + env(safe-area-inset-bottom,0px));z-index:900}.nav-item{font-size:12px;border-radius:0;color:var(--muted);min-height:55px;position:relative;background:none}.nav-item.active,.nav-item[aria-current="page"],.nav-item[aria-selected="true"]{color:var(--accent);background:none;font-weight:650}.nav-item.active::before{content:"";position:absolute;top:-6px;left:calc(50% - 15px);width:30px;height:2px;background:var(--accent)}.nav-item svg{width:22px;height:22px}.nav-item:hover{background:#faf9f5!important}.sheet-overlay{background:#17201566}.sheet-panel{border-radius:14px 14px 0 0;box-shadow:0 -4px 24px #17201512}.sheet-header{background:#fff}.sheet-header h2{font-size:25px}.sheet-header::before{background:#d3d6cb}.close-button{border-radius:5px;background:var(--soft)}.detail-content p,.detail-content li{color:#5b6254}.sheet-actions{background:#fff}.amap-marker-label{border-color:#d3d6cb;background:#fffffff5;color:var(--ink);border-radius:3px}.group-qr{border-radius:4px}.offline-emblem{background:var(--soft);border-color:var(--line);border-radius:6px}.toast{border:0;border-radius:5px;background:#30362a}
@media(min-width:700px){.app-header{padding:27px 36px 23px}.header-title h1{font-size:33px}.header-title .eyebrow{font-size:10px}.header-actions{flex-direction:row;gap:14px}.offline-status{font-size:13px}.trip-controls{padding:0 18px}.day-buttons{gap:25px}.day-buttons button{flex:0 0 auto;min-width:95px;font-size:14px}.list-view{padding:34px 36px}.journey-cover{margin:0 -36px 46px}.cover-photograph{min-height:500px}.cover-caption{padding:108px 55px 75px}.cover-caption h2{font-size:53px;line-height:1.4}.cover-caption>p:not(.cover-eyebrow){font-size:17px}.photo-location{right:30px;bottom:23px}.trip-facts{margin:0 36px;padding:27px 0;gap:30px;grid-template-columns:1.3fr 1fr 1fr}.trip-facts>div{padding-left:30px}.trip-facts dt{font-size:12px}.trip-facts dd{font-size:27px}.trip-facts dd span{font-size:16px}.return-note{padding:23px 36px 0;gap:17px}.note-label{writing-mode:horizontal-tb;border:0;font-size:12px;line-height:1.75}.return-note p{font-size:15px}.return-note small{font-size:13px}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 30px}.chapter-card h3{font-size:28px}.view-heading h2{font-size:32px}.day-detail{max-width:770px;margin:0 auto;width:100%}.day-intro{padding-top:24px}.day-detail .chapter-photo{aspect-ratio:2/1}.day-detail .day-head h3{font-size:28px}.itinerary-list:not(.chapter-grid){grid-template-columns:1fr}.stays-list{grid-template-columns:repeat(2,minmax(0,1fr))}.food-results{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}.food-card{padding:25px 0}.food-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 20px}.food-controls>label{grid-column:1;margin-bottom:0}.food-controls>select{grid-column:1;grid-row:2}.food-actions{grid-column:2;grid-row:2;margin:0}.radius-control{grid-column:1/-1;margin-top:5px}.food-controls>p{grid-column:1/-1;margin-top:0}.food-editor-note>span{writing-mode:horizontal-tb;line-height:1.8}.map-view{padding:30px 30px 0}.map-frame .trip-map{height:57dvh;min-height:440px}.map-heading-row h2{font-size:30px}.map-mode>span{flex:1 1 auto}.map-legend{font-size:12px}.bottom-nav{max-width:740px;border-radius:8px 8px 0 0}.nav-item{font-size:14px;flex-direction:row;gap:9px}.sheet-panel{border-radius:10px}.sheet-header h2{font-size:29px}}
@media(max-width:370px){.app-header{padding-left:16px;padding-right:16px}.header-title h1{font-size:26px}.header-title .eyebrow{font-size:8px;letter-spacing:1px}.offline-status{font-size:11px;padding:8px}.offline-status svg{display:none}.list-view{padding-left:16px;padding-right:16px}.journey-cover{margin-left:-16px;margin-right:-16px}.cover-caption{padding-left:21px;padding-right:21px}.cover-caption h2{font-size:35px}.trip-facts{margin:0 16px;gap:8px}.trip-facts dd{font-size:18px}.trip-facts dd span{font-size:11px}.trip-facts>div{padding-left:9px}.return-note{padding-left:16px;padding-right:16px}.chapter-card h3{font-size:24px}.day-buttons{padding:0 9px}.day-buttons button{padding-left:7px;padding-right:7px;font-size:12px}.stay-card{padding:18px}.sheet-actions .button-link{font-size:13px}}
@media(orientation:landscape) and (max-height:580px){.app-header{padding-top:12px;padding-bottom:12px}.header-title .eyebrow,.trip-dates{display:none}.header-title h1{font-size:24px}.cover-photograph{min-height:290px}.cover-caption{padding:42px 25px}.cover-caption h2{font-size:34px}.cover-caption>p:not(.cover-eyebrow){display:none}.trip-controls{position:relative}.map-frame .trip-map{height:75dvh;min-height:270px}.sheet-panel{max-height:calc(100dvh - 12px)}.sheet-header{padding-top:16px;padding-bottom:10px}.sheet-actions{padding-top:9px;padding-bottom:calc(9px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
