
:root{--ink:#1a3534;--ink2:#43605f;--muted:#80918a;--leaf:#26766b;--leaf2:#dcece6;--sand:#f7f6f0;--paper:#fff;--line:#e5ebe5;--gold:#d7a067;--goldlite:#fcf0df;--shadow:0 8px 26px rgba(26,53,52,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#dce5df;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans SC","Microsoft Yahei","PingFang SC",system-ui,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
.phone{position:relative;min-height:100dvh;max-width:480px;margin:0 auto;background:var(--sand);padding-bottom:calc(86px + env(safe-area-inset-bottom));box-shadow:0 0 90px rgba(0,0,0,.1)}button{font-family:inherit;cursor:pointer}a{text-decoration:none;color:inherit}.page{display:none}.page.active{display:block}.topbar{height:57px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:var(--sand)}.brand{font-size:12px;letter-spacing:2.8px;color:var(--ink);font-weight:800}.rightmark{font-size:11px;color:var(--leaf);background:var(--leaf2);border-radius:99px;padding:6px 10px;font-weight:700}.hero{margin:0 14px;border-radius:22px;height:274px;position:relative;overflow:hidden;background:#173837;color:white;isolation:isolate}.hero svg{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,33,41,.69),rgba(8,33,41,.06) 90%),linear-gradient(0deg,rgba(9,32,39,.65),transparent 50%)}.hero-content{position:absolute;top:29px;left:23px;right:18px;z-index:2}.hero-tag{display:inline-block;color:#f5d1a0;text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:750}.hero h1{font-size:33px;line-height:1.25;letter-spacing:1.4px;margin:13px 0 6px;font-weight:800}.hero h1 em{color:#f5c58d;font-style:normal}.hero small{color:#e5ecea;font-size:12px}.hero-pill{position:absolute;bottom:23px;left:23px;display:flex;gap:7px;z-index:2}.hero-pill span{font-size:10px;border:1px solid #ffffff6d;border-radius:40px;padding:6px 11px;color:#fff;background:#ffffff1c;backdrop-filter:blur(4px)}
.content{padding:0 19px}.section-row{display:flex;align-items:center;justify-content:space-between;margin:25px 0 11px}.section-title{font-size:18px;font-weight:820;margin:0;letter-spacing:.1px}.section-caption{color:var(--muted);font-size:11px}.tag{border-radius:99px;padding:4px 10px;font-size:10px;font-weight:700;background:var(--leaf2);color:var(--leaf)}.muted{color:var(--muted)}.card{border-radius:17px;background:#fff;box-shadow:var(--shadow);padding:15px 16px}.flight-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.flight{background:#fff;border:1px solid var(--line);border-radius:17px;padding:15px 14px}.flight .n{font-size:20px;font-weight:850;letter-spacing:.2px}.flight .date{font-size:11px;color:var(--muted)}.flight .route{display:flex;justify-content:space-between;align-items:center;gap:3px;margin-top:13px;font-size:14px;font-weight:750;white-space:nowrap}.flight .route .airport{display:inline-flex;align-items:baseline;gap:3px;letter-spacing:-.15px}.flight .route small{font-size:10px;font-weight:700;color:var(--muted)}.flight .route i{font-style:normal;color:#a4aaa5;font-weight:400}.flight .time{display:flex;justify-content:space-between;font-size:11px;color:var(--ink2);margin-top:1px}.flight .term{font-size:10px;color:var(--muted);margin-top:6px}.hotel{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:9px}.hotel-illustration{flex:0 0 58px;height:67px;border-radius:11px;background:linear-gradient(145deg,#d6e1d6,#f2dfca);display:grid;place-items:center;font-size:28px}.hotel-title{font-size:13px;font-weight:750}.hotel-sub{font-size:10px;color:var(--muted);margin-top:3px}.hotel-addr{font-size:11px;color:var(--ink2);margin-top:7px}.mini-actions{display:flex;gap:8px;margin-top:8px}.mini-actions button,.mini-actions a{font-size:10px;border-radius:8px;border:1px solid var(--line);color:var(--leaf);background:#fff;font-weight:750;padding:6px 10px}.charter-top{display:flex;align-items:center;justify-content:space-between}.vehicle-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.vehicle{background:#f7f9f6;border:1px dashed #b5c8bf;padding:12px;border-radius:12px}.vehicle .name{font-size:11px;font-weight:700}.plate{font-weight:800;font-size:16px;margin-top:7px;color:#5b7772}.vmeta{font-size:10px;color:var(--muted);margin-top:4px}.tipstrip{display:flex;gap:9px;background:var(--goldlite);border-radius:12px;padding:12px;margin-top:11px;font-size:11px;color:#785632}.outline-btn{border:1px solid #d5ddd5;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;border-radius:13px;background:white;width:100%;text-align:left;font-size:12px;font-weight:700;margin-top:9px}.tabbar{position:fixed;z-index:25;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);height:calc(69px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -5px 20px #20423d0a}.tab{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:0;background:transparent;color:#83948d;font-size:10px;letter-spacing:.2px;font-weight:650}.tab svg{width:21px;height:21px}.tab.active{color:var(--leaf)}.tab.active span{font-weight:800}.topintro{padding:23px 19px 8px}.eyebrow{color:var(--leaf);letter-spacing:2px;font-size:10px;font-weight:820}.display-title{font-size:26px;font-weight:850;margin:5px 0 5px}.subtitle{font-size:12px;color:var(--muted)}.day-selector{display:flex;overflow-x:auto;gap:8px;padding:12px 19px 14px;scrollbar-width:none}.day-selector::-webkit-scrollbar{display:none}.day-btn{min-width:66px;border:1px solid var(--line);background:#fff;border-radius:13px;padding:11px 13px;text-align:center;flex:none;color:var(--ink2)}.day-btn strong{display:block;font-size:13px}.day-btn small{font-size:10px;color:var(--muted)}.day-btn.active{background:var(--ink);color:white;border-color:var(--ink)}.day-btn.active small{color:#b5cec6}.day-head{border-radius:18px;background:linear-gradient(140deg,#e7eee5,#f7eddd);padding:19px 18px 16px;margin-bottom:14px;position:relative;overflow:hidden}.day-head::after{content:'✦';position:absolute;right:16px;top:6px;font-size:69px;color:#fff9;line-height:1}.day-head small{color:#66837a;font-size:10px;font-weight:800;letter-spacing:1px}.day-head h2{font-size:21px;margin:6px 0 6px;line-height:1.25;position:relative;z-index:1}.day-head p{font-size:11px;color:#587169;margin:0;position:relative;z-index:1}.weather{margin-top:12px;display:inline-flex;gap:7px;align-items:center;background:#fff9;padding:6px 10px;border-radius:40px;color:#718780;font-size:10px;position:relative;z-index:1}.list-label{font-size:12px;font-weight:800;margin:18px 0 9px}.timeline{position:relative;margin-left:9px}.timeline:before{content:'';position:absolute;top:19px;bottom:19px;left:13px;border-left:1.5px solid #cfddd6}.stop{display:flex;gap:13px;position:relative;margin-bottom:9px}.dot{width:28px;height:28px;flex:0 0 28px;background:#e5eee8;color:var(--leaf);border:2px solid var(--sand);border-radius:50%;display:grid;place-items:center;font-size:13px;z-index:2;margin-top:13px}.stop-body{flex:1;background:white;border:1px solid #e8eee8;border-radius:14px;padding:12px 13px;box-shadow:0 2px 8px #1a353409}.stop-name{font-size:13px;font-weight:770;display:flex;align-items:center;justify-content:space-between;gap:6px}.stop-detail{font-size:11px;color:#698079;margin-top:4px}.time-chip{font-size:10px;background:#f9f1e7;color:#9a693a;border-radius:5px;padding:2px 6px;font-weight:750;white-space:nowrap}.expand{margin-top:11px;border-top:1px dashed var(--line);padding-top:9px}.expand summary{list-style:none;color:var(--leaf);font-size:11px;font-weight:780;cursor:pointer;display:flex;justify-content:space-between}.expand summary::-webkit-details-marker{display:none}.foodlist{padding:9px 0 0}.foodline{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #f1f3ef;padding:7px 0;font-size:11px}.foodline:last-child{border-bottom:none}.foodline small{color:var(--muted);text-align:right;max-width:115px}.extra-title{display:flex;gap:7px;align-items:center;font-size:13px;font-weight:780;margin:21px 0 9px}.extra{background:#fffdf9;border:1px solid #eee6d8;border-radius:14px;padding:13px 14px}.extraitem{display:flex;justify-content:space-between;gap:6px;align-items:start;padding:7px 0;border-top:1px solid #eee8da}.extraitem:first-of-type{border-top:none}.extraitem b{font-size:12px}.extraitem small{font-size:10px;color:var(--muted)}.extra-note{font-size:10px;color:#8d806b;margin-top:9px}.footer-spacer{height:14px}.hint{text-align:center;color:#9aaa9f;font-size:10px;margin:22px 0 6px}.food-tabs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:10px 19px 12px}.food-tabs::-webkit-scrollbar{display:none}.foodtab{flex:none;border:1px solid var(--line);border-radius:20px;background:#fff;padding:9px 12px;font-size:11px;font-weight:700;color:var(--ink2)}.foodtab.active{background:var(--leaf);color:#fff;border-color:var(--leaf)}.mapplaceholder{height:212px;background:#e8ede5;position:relative;overflow:hidden;border-radius:17px;border:1px solid #d5e1d6}.mapplaceholder .road{position:absolute;background:#fff9;transform:rotate(-24deg);height:25px;width:160%;left:-30%;top:90px;border:1px dashed #bad0c6}.mapplaceholder .road2{position:absolute;background:#fff9;transform:rotate(41deg);height:20px;width:150%;left:-20%;top:85px;border:1px dashed #bad0c6}.mapbadge{position:absolute;top:16px;left:17px;color:#59746c;font-size:10px;font-weight:760}.pin{position:absolute;background:var(--ink);border:2px solid #fff;color:white;font-size:11px;font-weight:800;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;box-shadow:0 2px 5px #0002}.mapdisclaimer{position:absolute;bottom:10px;left:10px;right:10px;text-align:center;background:#ffffffe8;border-radius:9px;padding:7px;color:#52675d;font-size:10px}.food-item{border-bottom:1px solid var(--line);padding:13px 0;display:flex;gap:12px}.food-item .num{height:25px;width:25px;background:#eaf1ec;color:var(--leaf);border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:800;flex:none}.food-item b{font-size:12px}.food-item p{font-size:10px;color:var(--muted);margin:3px 0 0}.pilllabel{display:inline-flex;background:var(--goldlite);color:#9e6c3e;border-radius:20px;font-size:10px;padding:5px 9px}.info-card{margin:10px 0;border-radius:14px;padding:15px;background:#fff;border:1px solid var(--line)}.info-card h3{font-size:13px;margin:0 0 7px}.info-card p{font-size:11px;color:var(--ink2);margin:0 0 9px}.info-card a{color:var(--leaf);font-size:11px;font-weight:800}.info-icon{display:inline-grid;place-items:center;width:27px;height:27px;background:#e9f2ec;border-radius:8px;margin-right:6px}.attraction-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:13px 0}.attraction-card{background:#fff;border-radius:16px;border:1px solid var(--line);overflow:hidden;text-align:left;padding:0}.attraction-card .picture{height:91px;display:grid;place-items:center;font-size:36px;background:linear-gradient(145deg,#d6e8df,#f3e2c8)}.attraction-card .desc{padding:11px}.attraction-card b{font-size:12px}.attraction-card p{margin:4px 0 0;font-size:10px;color:var(--muted)}.sheetmask{position:fixed;z-index:50;inset:0;background:#15252294;display:none;align-items:flex-end;justify-content:center}.sheetmask.open{display:flex}.sheet{background:var(--sand);border-radius:24px 24px 0 0;padding:21px 20px calc(28px + env(safe-area-inset-bottom));width:100%;max-width:480px;box-shadow:0 -10px 40px #0002;animation:slideup .2s ease-out}.sheet-grip{width:36px;height:4px;background:#cad5cc;border-radius:8px;margin:0 auto 16px}.sheet h2{font-size:21px;margin:5px 0}.sheet p{color:var(--ink2);font-size:13px;line-height:1.85}.sheet-close{border:0;background:#e7eee7;border-radius:9px;padding:9px 15px;color:var(--leaf);font-weight:750;float:right}.primary{background:var(--leaf);color:#fff;border:0;border-radius:12px;width:100%;padding:12px;font-weight:800;margin-top:9px;font-size:12px}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:90px;background:#163b34;color:#fff;border-radius:30px;padding:10px 20px;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s}.toast.show{opacity:1}@keyframes slideup{from{transform:translateY(20px);opacity:.4}to{transform:translateY(0);opacity:1}}@media(min-width:700px){.phone{margin:28px auto;border-radius:30px;overflow:hidden;min-height:900px}.tabbar{bottom:0}.topbar{border-radius:20px 20px 0 0}}@media(max-width:350px){.hero h1{font-size:28px}.flight .route{font-size:14px}.content{padding:0 14px}.day-selector,.food-tabs{padding-left:14px}}

/* 12/12–12/17 provisional weather, manually transcribed from supplied screenshot */
.weather-scroll{display:flex;overflow-x:auto;gap:9px;padding:1px 1px 7px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cddbd5 transparent}
.weather-day{flex:0 0 93px;border:1px solid var(--line);background:#fff;border-radius:15px;padding:11px 9px 10px;text-align:center;scroll-snap-align:start;min-height:112px}
.weather-day .wd-date{font-size:11px;font-weight:800;color:#526b66}.weather-day .wd-icon{font-size:23px;line-height:1.4;margin-top:3px}.weather-day .wd-temps{font-size:14px;color:#193c3b;font-weight:800;margin-top:4px}.weather-day .wd-temps small{font-size:11px;color:#738a85;font-weight:500}
.weather-note{font-size:10px;color:#81918b;line-height:1.6;margin:7px 3px 0}

.lead-icon{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:8px;background:#f4f7f3;flex:none;font-size:13px;line-height:1;margin-right:7px;vertical-align:middle}
.lead-icon.sm{width:20px;height:20px;font-size:12px;border-radius:7px;margin-right:6px}
.title-with-icon{display:inline-flex;align-items:center;gap:0;min-width:0}
.foodline .title-with-icon,.food-item-text .title-with-icon,.inline-food-entry .title-with-icon{align-items:flex-start}
.food-item-text b,.foodline b,.extraitem b,.d2-foodlist b{display:flex;align-items:center;gap:0}
.extraitem .txtline,.foodline .txtline,.inline-food-entry .txtline{display:flex;align-items:flex-start;gap:0;min-width:0}
.stop-name .title-with-icon span:last-child,.d2-stop h4 .title-with-icon span:last-child,.extraitem b span:last-child,.food-item-text b span:last-child{display:inline-block;vertical-align:middle}

/* Minimal attribution: preserve credit for third-party CC media without a full-size itinerary card. */
.photo-credits-minimal{border:0;background:none;box-shadow:none;margin:8px auto 0;padding:0 0 16px;max-width:100%;text-align:center;color:#9aa6a1;}
.photo-credits-minimal summary{display:inline-block;list-style:none;font-size:10px;font-weight:400;line-height:1.4;cursor:pointer;padding:5px 9px;text-decoration:underline dotted;text-underline-offset:3px;}
.photo-credits-minimal summary::-webkit-details-marker{display:none;}
.photo-credits-minimal .photo-credits-panel{margin-top:8px;padding:11px 12px;border:1px solid #e6ede8;border-radius:12px;background:#fff;text-align:left;max-height:45vh;overflow-y:auto;color:#60776f;}
.photo-credits-minimal .photo-credits-panel p{font-size:10px;line-height:1.6;margin:2px 0 12px;}
.photo-credits-minimal .credit-row{display:flex;gap:8px;align-items:start;justify-content:space-between;padding:6px 0;border-top:1px solid #edf1ed;font-size:10px;}
.photo-credits-minimal .credit-row a{color:#47776b;text-decoration:underline;white-space:normal;flex:none;}

/* V7.1: unobtrusive presentation-time reference, responsive at 320px */
.trip-performance{margin:11px 0 3px;padding:10px 11px;border-radius:11px;background:#f4f7f3;border:1px solid #e0eae1}
.trip-performance-name{font-size:11px;font-weight:800;color:#326052;line-height:1.55;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:3px 10px}
.trip-performance-name small{font-weight:500;font-size:10px;color:#779188}
.trip-performance-times{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.trip-performance-times span{display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;background:white;border:1px solid #dfebe2;border-radius:7px;color:#34564a;font-size:10px;font-weight:750;white-space:nowrap}
.home-day-stop .trip-performance{margin-top:8px}
.attraction-section .trip-performance{margin-top:12px}
@media(max-width:340px){.trip-performance-times{gap:4px}.trip-performance-times span{font-size:9.5px;padding:5px 6px}}



:root{--ink:#202d31;--ink2:#485961;--muted:#84949b;--leaf:#164e53;--leaf2:#e4eeee;--sand:#f7f8f6;--paper:#fff;--line:#e8eeef;--gold:#d6ac78;--goldlite:#fbf5e9;--shadow:0 9px 30px rgba(19,48,53,.055)}
body{background:#e7eded;color:#202d31;font-size:14px}
.phone{max-width:480px;background:#f7f8f6;box-shadow:0 24px 80px #273c4238}
.topbar{background:#fff;height:60px;padding:0 22px;border-bottom:1px solid #edf0f0}
.brand{font-size:10px;letter-spacing:2px;color:#253c42;font-weight:800}
.rightmark{background:#eef3f2;color:#2c5659;font-size:10px}
.hero{margin:12px 12px 0;height:358px;border-radius:20px;background:linear-gradient(125deg,#253b51,#486b6d);box-shadow:0 12px 24px #162b3236}
.hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 54%;position:absolute;inset:0;z-index:0;display:block}
.hero-overlay{z-index:1;background:linear-gradient(180deg,rgba(6,28,35,.02) 0%,rgba(7,26,34,.07) 35%,rgba(5,22,26,.24) 62%,rgba(4,21,25,.48) 100%)}
.hero-content{top:auto;bottom:82px;left:24px;right:24px}
.hero-tag{font-size:10px;letter-spacing:1.8px;color:#f0d5a9}
.hero h1{font-size:34px;margin:12px 0 9px;line-height:1.2;letter-spacing:1px;text-shadow:0 2px 10px #000b}
.hero h1 em{color:#f4d39e;font-weight:750}
.hero small{display:block;font-size:11.5px;color:#fcf7f0;line-height:1.55;letter-spacing:.05px;text-shadow:0 1px 5px #0009}
.hero-pill{bottom:20px;left:24px;gap:7px}
.hero-pill span{font-size:10px;background:#ffffff30;border-color:#ffffff4a;padding:6px 11px}
.content{padding:0 18px}
.home-guide{padding:19px 22px 2px}
.small-cap{letter-spacing:1.7px;font-size:10px;color:#9d7c5b;font-weight:850}
.intro-copy{margin-top:9px;font-family:Georgia,'Songti SC','SimSun',serif;color:#3f5052;font-size:17px;line-height:1.83}
.linkpill{margin-top:14px;padding:8px 0;border:0;background:transparent;color:#24585b;font-size:12px;font-weight:750;display:inline-flex;gap:17px;align-items:center}
.linkpill span{font-size:17px}
.feature-heading{padding:14px 21px 10px;display:flex;justify-content:space-between;align-items:end}
.feature-heading h2{font-size:20px;margin:4px 0 0;font-weight:800;letter-spacing:.2px}
.feature-heading>span{font-size:11px;color:#85969c}
.photo-tracks{display:flex;gap:10px;overflow-x:auto;padding:0 20px 12px;scrollbar-width:none;scroll-snap-type:x mandatory}
.photo-tracks::-webkit-scrollbar{display:none}
.photo-tile{flex:0 0 208px;height:160px;position:relative;overflow:hidden;border-radius:15px;background:linear-gradient(140deg,#375963,#849898);color:white;scroll-snap-align:start;border:0;text-align:left;padding:0}
.photo-tile img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.photo-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#071e2daa 0%,transparent 70%)}
.photo-tile .photo-tile-label{position:absolute;left:14px;bottom:13px;z-index:2;font-size:15px;font-weight:800}
.photo-tile .photo-tile-sub{display:block;font-size:9px;font-weight:400;color:#e0e9eb;margin-top:3px}
.quick{margin-top:12px;gap:8px}
.quick .unit{background:white;border:1px solid #edf0ef;box-shadow:none;padding:12px 6px}
.quick .n{font-family:Georgia,serif;color:#29494f;font-size:22px}
.section-title{font-size:17px;letter-spacing:0}
.section-row{margin:24px 0 12px}
.flight,.hotel,.card{border:1px solid #e6ebeb;box-shadow:0 4px 16px #112c3309}
.flight{padding:16px 13px;border-radius:16px}.flight .n{font-size:22px}
.hotel{border-radius:16px;padding:13px;gap:12px}
.hotel-illustration{flex:0 0 68px;height:75px;background:linear-gradient(160deg,#264f58,#9fafac);color:#fff;border-radius:10px;font-size:9px;font-weight:850;letter-spacing:1px}
.charter-dates{margin-top:11px;color:#5b7479;font-size:11px}
.vehicle{background:#fafbf9;border:1px dashed #b7caca}
.tipstrip{background:#fbf5eb;color:#69563a}
.primary{border-radius:13px;background:#174f53}
.tabbar{background:#fff;box-shadow:0 -12px 30px #092e3f0e;border-color:#e8eded}
.tab.active{color:#0e5660}
.topintro{padding:29px 19px 8px;background:#fff}
.eyebrow{color:#997446;letter-spacing:2px}
.display-title{font-size:28px;color:#23383e}
.subtitle{font-size:12px}
.day-selector{background:#fff;padding:14px 19px 18px}
.day-btn{background:#f6f8f8;border-color:#eef1f1}
.day-btn.active{background:#173f46;border-color:#173f46}
.day-head{padding:0;height:245px;border-radius:16px;overflow:hidden;background:linear-gradient(130deg,#274855,#8b9b91);color:#fff;isolation:isolate;box-shadow:0 7px 20px #173b3d16}
.day-head:after{display:none}
.day-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.day-mask{position:absolute;inset:0;background:linear-gradient(180deg,#10242e14,#051e29c7);z-index:1}
.day-text{position:absolute;bottom:14px;left:16px;right:15px;z-index:2}
.day-head small{color:#e8d2ad;letter-spacing:1.4px}
.day-head h2{color:white;margin:7px 0;font-size:24px}
.day-head p{color:#e9f3f3}
.day-head .weather{margin-top:11px;color:#1b4550;background:#eef7f4d9;font-size:10px}
.day-head .img-source{position:absolute;top:9px;right:9px;z-index:2;color:#ffffffe3;font-size:9px;background:#0006;border-radius:8px;padding:3px 7px}
.list-label{color:#223e41;font-size:13px}
.timeline:before{border-left-color:#c5d5d7}
.stop-body{border-color:#e5eded;background:#fff;border-radius:14px}
.stop-name{font-size:13px}
.stop-detail{color:#678086}
.stop-photo{display:block;object-fit:cover;width:100%;aspect-ratio:2.15/1;border-radius:10px;margin-top:10px;background:linear-gradient(135deg,#284a52,#afbea9)}
.image-foot{font-size:9px;color:#8a9694;margin-top:4px;display:flex;justify-content:space-between;align-items:center}
.image-foot a{color:#467a81;text-decoration:underline;text-underline-offset:2px}
.dot{background:#e0eeec;color:#2c6a6a}
.time-chip{background:#f9f0e2;color:#966f43}
.creditbox{padding:14px;margin-top:21px;border:1px solid #e2e9e9;background:#fff;border-radius:14px}
.creditbox summary{list-style:none;cursor:pointer;font-weight:780;font-size:13px}
.creditbox summary::-webkit-details-marker{display:none}
.creditbox summary span{float:right;color:#70898b;font-size:10px;font-weight:400}
.creditbox p{color:#6f8586;font-size:11px;line-height:1.65}
.credit-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-top:1px solid #e8eeee;font-size:10px}
.credit-row a{color:#366e72;white-space:nowrap}
.attraction-card .picture{position:relative;overflow:hidden;background:linear-gradient(140deg,#324f57,#96aaa9)}
.attraction-card .picture img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.info-card{border-color:#e4ebec!important}
@media(min-width:560px){.phone{margin:20px auto;border-radius:20px;overflow:hidden;min-height:calc(100dvh - 40px)}.tabbar{border-radius:0 0 20px 20px}}

/* 2026旅行网站 · 用户照片实景整合 */
.hero{height:358px;background:#102934}
.hero-photo{height:100%;top:0;bottom:0;object-fit:cover;object-position:14% 50%;background:#142b37}
.hero-overlay{background:linear-gradient(180deg,rgba(9,29,33,.01) 0%,rgba(9,29,33,.04) 35%,rgba(9,29,33,.28) 70%,rgba(9,29,33,.62) 100%)}
.hero-content{bottom:66px;left:21px;right:14px}
.hero h1{margin:7px 0 6px;font-size:29px;line-height:1.12}
.hero small{font-size:11px}
.hero-pill{bottom:17px;left:21px}
.hotel{align-items:stretch;padding:11px;gap:12px}
.hotel-photo-button{position:relative;flex:0 0 105px;align-self:stretch;min-height:138px;max-width:105px;border:0;border-radius:11px;overflow:hidden;padding:0;background:#e3e9e6;display:block}
.hotel-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 49%}
.hotel-photo-guangzhou{object-position:48% 45%}
.hotel-photo-shunde{object-position:49% 49%}
.hotel-zoom{position:absolute;right:5px;bottom:6px;border-radius:6px;background:#0b262cc9;color:#fff;font-size:9px;padding:4px 6px}
.hotel-copy{min-width:0;flex:1;padding:3px 0}
.hotel-title{line-height:1.55;font-size:12px;overflow-wrap:anywhere}
.hotel-sub,.hotel-addr{font-size:10px;line-height:1.6}
.mini-actions{gap:5px;flex-wrap:wrap}
.mini-actions button{padding:6px 8px}
.photo-overlay{position:fixed;inset:0;z-index:200;background:rgba(7,23,28,.88);display:none;align-items:center;justify-content:center;padding:18px}
.photo-overlay.open{display:flex}
.photo-open{overflow:hidden}
.photo-dialog{width:min(480px,100%);max-height:94dvh;display:flex;flex-direction:column;background:#f8faf8;border-radius:17px;overflow:hidden}
.photo-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:13px;font-weight:800}
.photo-dialog-head button{border:0;background:#e6edeb;border-radius:8px;font-size:18px;width:30px;height:30px}
.photo-dialog>img{display:block;max-width:100%;max-height:calc(94dvh - 116px);object-fit:contain;background:#d8e2e4}
.photo-dialog>p{padding:0 12px;text-align:center;font-size:10px;color:#738481}
@media(max-width:360px){.hotel-photo-button{flex-basis:95px;max-width:95px}.hotel{gap:9px}}



/* In-page itinerary shortcuts: compact until a day is chosen */
.home-fast{background:#fff;border:1px solid #e4ebeb;border-radius:17px;padding:14px;margin:7px 0 23px;box-shadow:0 7px 20px rgba(19,48,53,.045);scroll-margin-top:16px}
.home-fast-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:10px}
.home-fast-top span{font-size:14px;font-weight:850;color:#213d40}.home-fast-top small{font-size:10px;color:#798c8e}
.home-fast-today{display:flex;width:100%;align-items:center;justify-content:space-between;text-align:left;padding:13px 14px;border:0;background:#194a4c;color:white;border-radius:12px;cursor:pointer}
.home-fast-today b{display:block;font-size:14px;line-height:1.5;letter-spacing:.1px}.home-fast-today small{display:block;font-size:10px;color:#d5e6e2;font-weight:450;margin-top:2px}.home-fast-today>span:last-child{font-size:20px;opacity:.9}
.home-day-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:12px 0 2px}
.home-day-shortcuts::-webkit-scrollbar{display:none}
.home-day-shortcut{min-width:0;padding:8px 3px;background:#f5f8f7;color:#456266;border:1px solid #e5eeed;border-radius:10px;text-align:center;cursor:pointer}
.home-day-shortcut strong{display:block;font-size:10px;font-weight:800;line-height:1.4}.home-day-shortcut small{display:block;font-size:10px;margin-top:1px;color:#7a9191}.home-day-shortcut.active{background:#e5f0ed;border-color:#83a89f;color:#125552}.home-day-shortcut.active small{color:#39776e}
.home-day-detail{border-top:1px solid #e8eeee;margin-top:13px;padding-top:15px;scroll-margin-top:20px}
.home-day-detail[hidden]{display:none}
.home-day-detail-head{display:flex;justify-content:space-between;gap:10px;align-items:start;margin-bottom:8px}
.home-day-detail-head small{color:#9e896f;font-size:10px;letter-spacing:.1em;font-weight:800}.home-day-detail-head h3{font-size:18px;margin:4px 0;color:#193c3e;line-height:1.4}
.home-day-close{color:#647e80;background:#eef3f2;border:0;border-radius:8px;padding:6px 9px;font-size:11px;white-space:nowrap;cursor:pointer}
.home-day-theme{font-size:11px;color:#678080;line-height:1.6;margin-bottom:8px}.home-day-weather{display:inline-block;font-size:11px;font-weight:600;background:#f0f4f2;padding:6px 9px;border-radius:8px;color:#375e5a;margin-bottom:11px}
.home-day-stops{border-left:1.5px solid #d7e3df;margin-left:12px;padding-left:14px}
.home-day-stop{position:relative;padding:2px 0 14px}
.home-day-stop:last-child{padding-bottom:5px}
.home-day-stop:before{content:'';position:absolute;left:-20px;top:5px;width:10px;height:10px;border-radius:50%;background:#d5ae78;border:3px solid #fff;box-shadow:0 0 0 1px #cdded7}
.home-day-stop-name{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:12px;line-height:1.5;color:#2a4347;font-weight:750}
.home-day-stop-name .spotname{flex:1;min-width:0}
.home-day-stop-name .timestamp{font-size:10px;color:#926e45;background:#f8f1e8;border-radius:6px;padding:3px 5px;white-space:nowrap;font-weight:650}
.home-day-stop-desc{font-size:11px;line-height:1.65;color:#788b8b;margin-top:2px}
.home-day-food{background:#f5f9f7;border:1px solid #e2ebe7;border-radius:8px;margin-top:6px;padding:0 8px}
.home-day-food summary{list-style:none;cursor:pointer;padding:9px 2px;font-size:11px;font-weight:700;color:#2d625d}.home-day-food summary::-webkit-details-marker{display:none}
.home-day-food-items{padding:3px 2px 10px;font-size:11px;color:#687f7e;line-height:1.8}
.home-day-extras{border:1px solid #e8e5db;background:#fbfaf5;border-radius:10px;padding:0 10px;margin-top:12px}
.home-day-extras summary{padding:11px 0;cursor:pointer;color:#86683f;font-size:12px;font-weight:750;list-style:none}
.home-day-extras summary::-webkit-details-marker{display:none}.home-day-extras-content{padding:0 0 10px;color:#677b78;font-size:11px;line-height:1.8}
.home-day-note{margin-top:12px;font-size:11px;line-height:1.75;color:#687e7c;background:#f3f7f6;padding:10px;border-radius:10px}
@media(max-width:350px){.home-fast{padding:11px}.home-fast-top{flex-direction:column;gap:3px}.home-day-shortcut{flex-basis:29%}}



/* Day 2 premium itinerary pilot — photo-forward, light-weight, mobile first */
#itinerary-premium[hidden],#standard-day[hidden],#day-head[hidden]{display:none!important}
.d2{padding-bottom:18px}
.d2-cover{height:249px;border-radius:20px;position:relative;overflow:hidden;background:linear-gradient(145deg,#527e6f,#1c4d53);color:#fff;isolation:isolate;box-shadow:0 10px 22px #234d4720}
.d2-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.d2-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,37,37,.83),rgba(11,43,47,.05) 75%);z-index:1}
.d2-cover .d2-top{position:absolute;left:19px;top:18px;z-index:2;font-size:10px;letter-spacing:1.7px;color:#fff;text-shadow:0 2px 5px #0005;font-weight:700}
.d2-cover .d2-bottom{position:absolute;bottom:17px;left:19px;right:15px;z-index:2}
.d2-cover h2{font-size:29px;line-height:1.2;margin:0 0 7px;font-weight:840;text-shadow:0 2px 6px #0008}
.d2-cover p{font-size:12px;color:#eef5f2;margin:0;line-height:1.6}
.d2-weather-row{display:flex;align-items:stretch;gap:9px;margin:13px 0 10px}
.d2-stat{background:#fff;border-radius:13px;border:1px solid #e5ecea;padding:11px 13px;flex:1;display:flex;align-items:center;gap:9px;color:#334f51;font-size:12px}
.d2-stat small{display:block;color:#869995;font-size:10px;margin-top:2px}
.d2-stat strong{font-size:13px}
.d2-subheading{display:flex;align-items:center;justify-content:space-between;margin:22px 1px 11px}
.d2-subheading h3{font-size:17px;margin:0;color:#203e40;font-weight:820}
.d2-subheading small{font-size:10px;color:#8b9a95}
.d2-path{border-left:2px solid #d4e2dc;margin-left:14px;padding-left:19px}
.d2-stop{position:relative;background:#fff;border:1px solid #e5eae7;border-radius:16px;box-shadow:0 5px 18px #273e3a0b;margin:0 0 10px;padding:15px 14px}
.d2-stop:before{content:'';position:absolute;top:20px;left:-27px;height:12px;width:12px;background:#cca773;border:3px solid #f7f8f6;border-radius:50%;box-shadow:0 0 0 1px #d4e2dc}
.d2-cardtop{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.d2-index{color:#b59b78;font-size:10px;font-weight:800;letter-spacing:.8px}
.d2-cat{font-size:10px;color:#69807e;background:#eef4f0;border-radius:50px;padding:3px 8px}
.d2-clock{font-size:10px;color:#986d39;background:#fbf2e5;border-radius:50px;padding:3px 8px;margin-left:auto}
.d2-stop h4{font-size:15px;font-weight:820;margin:0 0 4px;color:#1d3739}
.d2-stop p{font-size:11px;color:#6a8180;line-height:1.7;margin:0}
.d2-microimg{display:block;width:100%;height:118px;object-fit:cover;border-radius:10px;margin:11px 0 0;background:linear-gradient(145deg,#abcab9,#cbd4c9)}
.d2-actions{display:flex;gap:8px;margin-top:11px;flex-wrap:wrap}
.d2-actions a,.d2-actions button{border:1px solid #d9e5e0;border-radius:9px;background:#f8fbf9;color:#246b65;font-weight:750;font-size:11px;padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;min-height:34px;letter-spacing:0}
.d2-actions button{cursor:pointer}
.d2-actions a:focus-visible,.d2-actions button:focus-visible,.d2-foodbox summary:focus-visible{outline:2px solid #368b7d;outline-offset:2px}
.d2-foodbox{border-top:1px solid #ecf0ee;margin-top:13px;padding-top:12px}
.d2-foodbox summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;color:#1d736c;font-size:12px;font-weight:780;list-style:none}
.d2-foodbox summary::-webkit-details-marker{display:none}
.d2-foodbox summary .arrow{transition:transform .15s}
.d2-foodbox[open] summary .arrow{transform:rotate(180deg)}
.d2-foodlist{margin:10px 0 0;padding:0;list-style:none}
.d2-foodlist li{padding:9px 0;border-bottom:1px solid #f1f4f0;display:flex;justify-content:space-between;gap:9px;align-items:center}
.d2-foodlist li:last-child{border-bottom:0}
.d2-foodlist b{display:block;font-size:11px;font-weight:730;color:#374e4f}
.d2-foodlist small{color:#859b94;font-size:10px}
.d2-foodlist button{font-size:10px;color:#367a6e;background:none;border:none;padding:5px;flex:none;cursor:pointer}
.d2-extra{border:1px solid #efeadc;background:#fffdfa;border-radius:16px;padding:15px 14px}
.d2-extra-card{border-top:1px solid #f2ece1;padding:11px 0;display:flex;align-items:center;gap:8px}
.d2-extra-card:first-child{border-top:0;padding-top:0}
.d2-extra-card .emoji{font-size:22px;width:32px;flex:0 0 32px}
.d2-extra-card .txt{flex:1;min-width:0}.d2-extra-card .txt b{font-size:12px;color:#33484a}.d2-extra-card .txt small{display:block;color:#8e9587;font-size:10px;margin-top:3px}
.d2-extra-card a{font-size:10px;color:#2d7869;background:#f0f5f1;border-radius:7px;padding:6px 7px}
.d2-notice{margin-top:15px;background:#eaf1ec;border-radius:14px;padding:12px 13px;color:#4d6b64;font-size:11px;line-height:1.85}
.d2-credits{font-size:9px;color:#8e9d95;margin-top:17px;line-height:1.7}
.d2-credits a{text-decoration:underline;text-underline-offset:2px}
.d2-sheet{position:fixed;z-index:140;inset:0;background:#112c2bb3;display:none;align-items:end;justify-content:center}
.d2-sheet.open{display:flex}
.d2-sheetpane{width:100%;max-width:480px;background:#fff;border-radius:22px 22px 0 0;padding:21px 21px calc(31px + env(safe-area-inset-bottom));max-height:88dvh;overflow-y:auto;box-shadow:0 -12px 30px #0002}
.d2-sheetpane h2{margin:7px 0 10px;font-size:22px;color:#214443}
.d2-sheetpane p{font-size:13px;line-height:1.85;color:#586e70}
.d2-sheetpane .smalltitle{font-size:11px;color:#af8659;letter-spacing:2px}
.d2-sheetpane img{width:100%;max-height:220px;object-fit:cover;border-radius:14px;margin-top:12px}
.d2-sheetclose{float:right;border:0;background:#eff4f1;color:#366d67;border-radius:9px;padding:7px 11px;font-size:12px;cursor:pointer}
.d2-showerror{display:none;color:#d9eae3;position:absolute;top:76px;right:14px;background:#142f3347;border-radius:12px;padding:5px 7px;font-size:9px;z-index:2}
.d2-cover.noimage .d2-showerror{display:block}
@media(max-width:380px){.d2-cover{height:222px}.d2-cover h2{font-size:26px}.d2-stat{padding:10px 8px;gap:5px;font-size:11px}.d2-stop{padding:12px}}



/* Elder-friendly default; optional extra-large mode; respects viewport and browser zoom. */
html{font-size:18px;}
body{line-height:1.65}
button,a{touch-action:manipulation}
.d2 h2,.d2 h3,.d2 h4{line-height:1.4}
.d2-cover .d2-top{font-size:.72rem}
.d2-cover h2{font-size:1.7rem}
.d2-cover p{font-size:.90rem}
.d2-weather-row{flex-wrap:wrap}
.d2-stat{min-width:140px;font-size:.92rem;padding:13px}
.d2-stat strong{font-size:1.07rem}
.d2-stat small{font-size:.85rem;color:#405c58}
.d2-subheading h3{font-size:1.23rem}
.d2-subheading small{font-size:.80rem}
.d2-stop{padding:18px 17px;margin-bottom:14px}
.d2-stop h4{font-size:1.22rem}
.d2-stop p{font-size:1rem;color:#3a5957;line-height:1.75}
.d2-cardtop{flex-wrap:wrap}
.d2-index,.d2-cat,.d2-clock{font-size:.83rem}
.d2-actions a,.d2-actions button{font-size:.98rem;min-height:48px;padding:10px 12px}
.d2-foodbox summary{font-size:1.05rem;min-height:48px}
.d2-foodlist b{font-size:1rem}
.d2-foodlist small{font-size:.87rem;color:#526b65}
.d2-foodlist button{font-size:.91rem;min-height:44px}
.d2-extra-card .txt b{font-size:1rem}
.d2-extra-card .txt small{font-size:.89rem;color:#55635b}
.d2-extra-card a{font-size:.90rem;min-height:44px;display:flex;align-items:center;padding:9px 11px}
.d2-notice{font-size:.97rem;line-height:1.8}
.d2-credits{font-size:.69rem;opacity:.8}
.d2-credit-fold{margin-top:25px}
.d2-credit-fold summary{cursor:pointer;font-size:.76rem}
.d2-credit-fold div{margin-top:8px;line-height:1.6}
.wear-note,.weather-wear{background:#eff5ef;border-left:4px solid #94b39f;color:#263f3b;border-radius:12px;padding:13px 14px;line-height:1.7;font-size:1.02rem;margin:12px 0 16px}
.weather-wear{font-size:1rem;margin-top:9px}
.reader-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:15px 0 8px;color:#39544f;font-size:.89rem}
.reader-controls button{min-height:45px;padding:8px 16px;border-radius:12px;border:1px solid #b7cdc2;background:#fff;color:#24554c;font-size:.95rem;font-weight:700;cursor:pointer}
.reader-controls button.active{background:#1b655c;color:#fff;border-color:#1b655c}
.reader-xl .d2-stop h4{font-size:1.45rem}
.reader-xl .d2-stop p,.reader-xl .wear-note{font-size:1.19rem}
.reader-xl .d2-foodbox summary,.reader-xl .d2-foodlist b,.reader-xl .d2-extra-card .txt b{font-size:1.19rem}
.reader-xl .d2-foodlist small,.reader-xl .d2-extra-card .txt small{font-size:1.05rem}
.reader-xl .d2-actions a,.reader-xl .d2-actions button{font-size:1.13rem}
.reader-xl #d2-modal-content p{font-size:1.26rem}
.hotel-breakfast-alt{margin-top:8px;padding:10px;background:#f4f7f2;border-radius:11px;font-size:.92rem;line-height:1.6;color:#344f49}
.copy-option{margin-left:3px;border:1px solid #abc7b9;border-radius:9px;background:#fff;color:#27675b;padding:8px 11px;min-height:42px;font-size:.91rem}
#d2-modal-title{font-size:1.22rem}
#d2-modal-content{line-height:1.75;color:#29423d}
#d2-modal-content .story-intro{background:#f2f6ef;border-radius:13px;padding:13px 16px;margin:8px 0 16px}
#d2-modal-content p{font-size:1.09rem;line-height:1.78;margin:10px 0 14px}
#d2-modal-content .story-fold{border:1px solid #dce7df;border-radius:14px;margin:14px 0;background:#fff}
#d2-modal-content .story-fold summary{cursor:pointer;font-size:1.12rem;font-weight:750;color:#1c665b;padding:16px;list-style:none}
#d2-modal-content .story-fold summary::-webkit-details-marker{display:none}
#d2-modal-content .story-fold summary span{float:right;font-size:.86rem}
#d2-modal-content .story-body{padding:1px 16px 13px}
#d2-modal-content h3{font-size:1.17rem;line-height:1.48;color:#1b5148;margin:20px 0 7px}
#d2-modal-content .treasure{background:#f8f7f0}
#d2-modal-content .treasure-item{padding:10px 0;border-bottom:1px solid #e1e6d9}
#d2-modal-content .treasure-item:last-of-type{border-bottom:0}
#d2-modal-content .treasure-item b{font-size:1.1rem}
#d2-modal-content p.story-legend{font-size:.9rem;color:#4c665e}
@media(max-width:390px){.d2-weather-row{gap:6px}.d2-stat{min-width:0;flex-basis:45%}.d2-cover{height:220px}.reader-controls{gap:5px}}



#itinerary .day-head .weather-wear{position:relative;z-index:4;background:#edf4ed;margin:11px 0 0;border-radius:12px}
#itinerary .day-head{overflow:visible}
#info .photo-credit-mini{font-size:.76rem;opacity:.7;margin:24px 8px}
#info .photo-credit-mini summary{cursor:pointer}
#info .photo-credit-mini p{font-size:.74rem;line-height:1.6}
#home .home-day-detail .weather-wear{font-size:.91rem;margin:7px 0 10px}



/* V3: readability, story navigation and intentional photo fallback */
.d2-cover{background:radial-gradient(circle at 82% 23%,#94b4a3 0,#5b887f 23%,#295c55 70%,#133b3c 100%)}
.d2-cover:before{content:"";position:absolute;inset:0;opacity:.20;z-index:0;background-image:repeating-linear-gradient(115deg,transparent 0 43px,#fff4 44px,transparent 45px),radial-gradient(ellipse at 72% 80%,#c9d7ab 2%,transparent 50%)}
.d2-copy-primary{background:#1a665c!important;border-color:#1a665c!important;color:white!important;min-width:106px}
.d2-foodlist li{align-items:center;gap:8px}
.d2-foodlist button{border:1px solid #c6dcd1;border-radius:9px;background:#f4faf6;padding:7px 9px;color:#1e665d}
.d2-showerror{display:none!important}
#d2-modal-content .story-fast{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
#d2-modal-content .story-fast button{background:#e9f3ed;border:1px solid #cadfd2;color:#205e54;border-radius:11px;padding:12px 11px;font-weight:750;font-size:1rem;min-height:49px;cursor:pointer}
#d2-modal-content .story-fast button:first-child{background:#1b665b;color:white}
#d2-modal-content .story-fold{scroll-margin-top:16px}
#d2-modal-content .story-body p b{color:#163f3b}
#d2-modal-content .story-legend{font-size:1rem;color:#455d53}
#d2-modal-content .treasure-found{font-size:1rem;font-weight:750;border:1px solid #9ab9a4;border-radius:11px;background:#fff;color:#286151;padding:10px 15px;min-height:48px;margin-top:3px;cursor:pointer}
#d2-modal-content .treasure-found[aria-pressed=true]{background:#1d685d;color:white;border-color:#1d685d}
.reader-xl #d2-modal-content .story-fast button,.reader-xl #d2-modal-content .treasure-found{font-size:1.15rem}
.reader-xl #d2-modal-content .story-fold summary{font-size:1.27rem}
.d2-sheetpane{overscroll-behavior:contain}
.d2-sheetclose{min-height:44px;min-width:72px;font-size:1rem}
.d2-actions a,.d2-actions button{min-height:48px}
@media (max-width:390px){.d2-actions{gap:7px}.d2-actions a,.d2-actions button{font-size:.95rem;padding:10px 11px}.d2-cover h2{font-size:1.8rem}}



/* Inline homepage day itinerary: one-tap story and copy, with thumb-friendly font sizes */
.home-day-detail .home-day-stop-name .spotname{font-size:1.1rem;line-height:1.45}
.home-day-detail .home-day-stop-desc{font-size:.96rem;line-height:1.65}
.home-day-stop-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.home-day-stop-actions button{border:1px solid #bad6c8;background:#f4f9f5;color:#1c655c;border-radius:10px;font-size:.98rem;min-height:45px;padding:9px 12px;font-weight:700}
.home-day-stop-actions .home-story-btn{background:#1b665b;color:#fff;border-color:#1b665b}
.home-day-food{font-size:1rem;line-height:1.6}
.home-day-food-items{font-size:.95rem;line-height:1.8}
.home-day-detail .home-day-extras{font-size:.98rem}
@media(max-width:370px){.home-day-stop-actions button{font-size:.91rem}}



/* V5: Return to the ORIGINAL HOME typography system on every page.
   No in-site font chooser; browser and operating-system text zoom are left available. */
html{font-size:16px;}
html,body,button,a,input,textarea,select,summary{font-family:-apple-system,BlinkMacSystemFont,"Noto Sans SC","Microsoft Yahei","PingFang SC",system-ui,sans-serif;}
body{font-size:14px;line-height:1.5;}
.intro-copy{font-size:12px;line-height:1.7;}
.section-title{font-size:18px;}
.feature-heading h2{font-size:20px;}
.hotel-title,.stop-name{font-size:13px;line-height:1.5;}
.hotel-sub{font-size:10px;line-height:1.5;}
.hotel-addr{font-size:11px;line-height:1.5;overflow-wrap:anywhere;}
.flight .date,.flight .time{font-size:11px;line-height:1.5;}
.stop-detail,.day-head p,.info-card p{font-size:11px;line-height:1.6;}
.subtitle{font-size:12px;}
.weather{font-size:10px;line-height:1.5;}
.weather-wear,.wear-note{font-size:11px;line-height:1.65;padding:10px 12px;margin:9px 0 11px;}
.display-title{font-size:26px;}
.day-head h2{font-size:21px;}
.info-card h3,.list-label{font-size:13px;}
.extra-title{font-size:13px;}
.extraitem b,.food-item b{font-size:12px;line-height:1.5;}
.extraitem small,.food-item p{font-size:10px;line-height:1.5;}
.time-chip{font-size:10px;}
.foodline span{font-size:11px;line-height:1.5;}
.foodline small{font-size:10px;}
.food-item-text{flex:1;min-width:0;overflow-wrap:anywhere;}
.foodline,.extraitem{display:flex;justify-content:space-between;align-items:center;gap:8px;}
.foodline span,.extraitem>div{min-width:0;overflow-wrap:anywhere;}
.copy-local{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:34px;border:1px solid #c7ddd0;background:#f3f8f5;color:#245e56;border-radius:9px;padding:7px 9px;font-size:10px;font-weight:700;}
.day3-breakfast{margin-top:10px;display:grid;gap:7px;}
.day3-breakfast>div{display:flex;gap:7px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:#f3f7f3;border-radius:11px;padding:9px 10px;font-size:11px;color:#2e5149;}
.day3-breakfast small{font-size:10px;color:#5d766d;}
/* Homepage daily expansion follows original card hierarchy. */
.home-day-stop-name,.home-day-stop-name .spotname{font-size:13px;line-height:1.5;overflow-wrap:anywhere;}
.home-day-stop-desc{font-size:11px;line-height:1.6;}
.home-day-theme,.home-day-weather,.home-day-detail .home-day-extras{font-size:11px;line-height:1.6;}
.home-day-food,.home-day-food-items{font-size:11px;line-height:1.65;}
.home-day-stop-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px;}
.home-day-stop-actions button{font-size:11px;min-height:35px;padding:7px 10px;}
.inline-food-entry{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-bottom:1px solid #e7eee8;}
.inline-food-entry span{flex:1;min-width:0;overflow-wrap:anywhere;}
#home .home-day-detail .weather-wear{font-size:11px;}
/* Day 2 dedicated design uses SAME type scale, not enlarged. */
.d2-cover .d2-top{font-size:10px;}
.d2-cover h2{font-size:21px;line-height:1.25;}
.d2-cover p{font-size:12px;line-height:1.5;}
.d2-stat{font-size:11px;padding:10px 11px;min-width:0;}
.d2-stat strong{font-size:12px;}
.d2-stat small{font-size:10px;}
.d2-subheading h3{font-size:17px;}
.d2-subheading small{font-size:10px;}
.d2-stop{padding:13px 13px;margin-bottom:10px;}
.d2-stop h4{font-size:13px;line-height:1.5;overflow-wrap:anywhere;}
.d2-stop p{font-size:11px;line-height:1.6;}
.d2-index,.d2-cat,.d2-clock{font-size:10px;}
.d2-actions a,.d2-actions button{font-size:11px;min-height:35px;padding:7px 10px;}
.d2-foodbox summary{font-size:11px;min-height:36px;}
.d2-foodlist b,.d2-extra-card .txt b{font-size:11px;line-height:1.5;overflow-wrap:anywhere;}
.d2-foodlist small,.d2-extra-card .txt small{font-size:10px;line-height:1.5;}
.d2-foodlist button,.d2-extra-card button{font-size:10px;min-height:34px;padding:7px 9px;flex:none;}
.d2-extra-card .txt{min-width:0;overflow-wrap:anywhere;}
.d2-extra-card button{max-width:none;}
.d2-notice{font-size:11px;line-height:1.65;}
.d2-credit-fold summary{font-size:10px;}
.d2-credits{font-size:10px;}
.reader-controls{display:none!important;}
/* Story can be read in comfortable paragraphs, but not a different font scale. */
#d2-modal-title{font-size:18px;}
#d2-modal-content{font-size:13px;line-height:1.65;}
#d2-modal-content p,#d2-modal-content .story-body p,#d2-modal-content .story-intro p{font-size:13px;line-height:1.7;color:#304d48;}
#d2-modal-content h3{font-size:15px;line-height:1.45;}
#d2-modal-content .story-fold summary{font-size:13px;padding:12px;}
#d2-modal-content .story-fold summary span{font-size:10px;}
#d2-modal-content .story-body{padding:0 13px 11px;}
#d2-modal-content .story-fast button{font-size:11px;min-height:36px;padding:8px 10px;}
#d2-modal-content .treasure-item b{font-size:12px;}
#d2-modal-content .treasure-found{font-size:11px;min-height:36px;padding:7px 10px;}
#d2-modal-content .story-legend,#d2-modal-content p.story-legend{font-size:10px;}
.d2-sheetclose{font-size:12px;min-height:36px;}
/* Preserve browser zoom and user text settings; prevent layout clipping */
.home-day-stop,.stop,.d2-stop,.food-item,.d2-extra-card{min-width:0;}
@media(max-width:345px){.d2-extra-card{flex-wrap:wrap}.d2-extra-card button{margin-left:0}.day3-breakfast>div{flex-wrap:wrap}}



/* V6: small structural updates; original V5 font family and type scale are unchanged. */
.home-day-other {padding:8px 2px 2px;color:var(--muted);font-size:11px;text-align:center}
.home-fast-today .home-today-chevron{display:inline-block;transition:transform .22s ease;font-size:19px}
.home-fast-today.expanded .home-today-chevron{transform:rotate(180deg)}
.home-fast-today b{letter-spacing:0;line-height:1.5}
.v6-prep{padding:4px 13px}
.v6-prep-row{display:flex;align-items:flex-start;gap:10px;padding:12px 1px}
.v6-prep-row + .v6-prep-row{border-top:1px solid var(--line)}
.v6-prep-icon{font-size:18px;flex:0 0 24px;line-height:1.2;padding-top:1px}
.v6-prep-row div:last-child{flex:1;min-width:0}
.v6-prep-row b{font-size:12px;color:var(--ink);font-weight:750}
.v6-prep-row p{font-size:11px;line-height:1.7;color:var(--ink2);margin:4px 0 0}
.v6-prep-row a{color:var(--leaf);font-weight:750;text-decoration:underline;text-underline-offset:3px}
.v6-creditbox{margin-top:26px;opacity:.85}
.tabbar{justify-content:space-around}
.tabbar .tab{flex:1;min-width:0}
#home .home-day-detail-head{display:block}
#home .home-day-detail-head h3{margin-bottom:7px}
#day2-premium img.d2-microimg{display:none}
#day2-premium img.d2-microimg.loaded{display:block}
@media(min-width:481px){.phone{border-radius:0}}




/* V6.1: exactly three equally spaced nav cells; no unused V5 fourth column. */
.tabbar {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  justify-content:initial !important;
  padding-inline:0 !important;
}
.tabbar .tab {
  width:100%; min-width:0; margin:0 !important; padding:6px 0 2px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
}
.tabbar .tab svg { display:block; margin-inline:auto !important; flex:none; }
.tabbar .tab span { display:block; width:100%; text-align:center; }
/* Chapter-by-chapter story reader built on the original theme and typography. */
.zumiao-overlay {position:fixed; inset:0; z-index:80; background:rgba(12,34,31,.55); display:none; align-items:flex-end; justify-content:center; padding-top:18px;}
.zumiao-overlay.open {display:flex;}
.zumiao-sheet {width:100%;max-width:480px;max-height:calc(100dvh - 20px);overflow-y:auto;overscroll-behavior:contain;border-radius:22px 22px 0 0;background:#fffdf8;color:#27463e;box-shadow:0 -12px 32px #12342f40;padding:21px 18px calc(30px + env(safe-area-inset-bottom));}
.zumiao-close {position:sticky;top:-5px;z-index:4;float:right;border:1px solid #dce6dd;background:#fff;color:#285b50;border-radius:20px;padding:7px 14px;font:inherit;font-size:12px;font-weight:700;}
.zumiao-eyebrow {font-size:10px;letter-spacing:2px;color:#94764b;font-weight:700;padding-top:15px;}
.zumiao-sheet h2 {font-size:23px;line-height:1.42;letter-spacing:.2px;margin:9px 5px 14px 0;color:#153f36;}
.zumiao-lead {font-size:13px;line-height:1.9;color:#567267;padding-bottom:15px;margin:0;}
.zumiao-rule {border:0;border-top:1px solid #d6e1d6;margin:10px 0 16px;}
.zumiao-chapter {border:1px solid #e5e9df;border-radius:14px;background:#fff;margin:12px 0;overflow:hidden;}
.zumiao-chapter summary {list-style:none;cursor:pointer;padding:15px 36px 14px 15px;position:relative;color:#234e43;font-size:14px;font-weight:780;line-height:1.5;}
.zumiao-chapter summary::-webkit-details-marker{display:none;}
.zumiao-chapter summary:after {content:'+';position:absolute;right:15px;top:11px;font-size:21px;color:#ae8855;font-weight:400;}
.zumiao-chapter[open] summary:after{content:'−';}
.zumiao-chapter > .zumiao-prose{border-top:1px solid #eff1ea;padding:5px 15px 15px;}
.zumiao-prose p {margin:12px 0 0;line-height:1.94;font-size:13px;color:#405b50;}
.zumiao-prose em {font-style:normal;color:#a26736;font-weight:700;}
.zumiao-note {padding:13px 14px;background:#f5f0e4;border-radius:12px;color:#665b46;font-size:12px;line-height:1.75;margin-top:17px;}
.zumiao-trail {background:#eef4ed;border-radius:14px;padding:12px 15px;margin-top:14px;}
.zumiao-trail strong {font-size:13px;color:#234e43;}
.zumiao-trail p {font-size:12px;line-height:1.85;color:#4a685c;margin:9px 0 0;}
@media(max-width:345px){.zumiao-sheet h2{font-size:21px}.zumiao-sheet{padding-left:15px;padding-right:15px}}




/* V6.3: one editorial structure and component for EVERY approved attraction story. */
.d2-sheetpane{max-height:90dvh;background:#fffdf9;padding:20px 19px calc(28px + env(safe-area-inset-bottom));}
.d2-sheetpane h2{font-size:21px;line-height:1.48;margin:9px 0 12px;letter-spacing:0;color:#173f38;}
.d2-sheetpane .smalltitle{font-size:10px;letter-spacing:1.25px;color:#9c7c4d;font-weight:700;padding-top:6px;}
#d2-modal-content{font-size:13px;color:#455e57;}
#d2-modal-content .attraction-lead{font-size:13px;line-height:1.9;color:#415e54;padding:0 0 14px;margin:0 0 12px;border-bottom:1px solid #e7ebe4;}
#d2-modal-content .attraction-section{margin:16px 0 0;}
#d2-modal-content .attraction-section>h3{font-size:12px;line-height:1.6;color:#1c5449;font-weight:800;letter-spacing:.15px;margin:0 0 8px;}
#d2-modal-content .attraction-section>p{font-size:12px;line-height:1.85;color:#526b61;margin:0;}
#d2-modal-content .attraction-chapters{display:grid;gap:8px;}
#d2-modal-content .attraction-chapter{border:1px solid #dfe8df;border-radius:12px;background:#fff;overflow:hidden;}
#d2-modal-content .attraction-chapter summary{padding:13px 12px;display:flex;align-items:center;justify-content:space-between;gap:9px;cursor:pointer;list-style:none;color:#1b5046;font-size:13px;font-weight:700;line-height:1.55;}
#d2-modal-content .attraction-chapter summary::-webkit-details-marker{display:none;}
#d2-modal-content .attraction-chapter summary .chapter-chevron{font-size:16px;color:#ab865c;transition:transform .15s;flex:0 0 auto;}
#d2-modal-content .attraction-chapter[open] .chapter-chevron{transform:rotate(180deg);}
#d2-modal-content .attraction-prose{padding:0 12px 11px;border-top:1px solid #f0f2ee;}
#d2-modal-content .attraction-prose p{font-size:12px;color:#526c60;line-height:1.85;margin:9px 0;}
#d2-modal-content .attraction-prose b,#d2-modal-content .attraction-prose strong{color:#234e42;}
#d2-modal-content .attraction-highlights{padding:11px 12px 10px 30px;background:#f4f6ef;border-radius:12px;margin:0;}
#d2-modal-content .attraction-highlights li{font-size:12px;line-height:1.78;padding:3px 0;color:#405d51;}
#d2-modal-content p.attraction-note{font-size:11px;line-height:1.7;color:#8c6b43;background:#fff9ec;border-left:3px solid #d2a063;border-radius:7px;padding:10px 11px;margin:10px 0 0;}
#d2-modal-content .attraction-actions{display:flex;justify-content:flex-end;margin:18px 0 0;}
#d2-modal-content .attraction-actions button{min-height:38px;border:1px solid #c6d9cc;border-radius:10px;background:white;color:#1c6557;padding:8px 16px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;}
.story-entry-link{background:none;color:#26766b;border:0;font-weight:750;font-size:11px;padding:5px 0;cursor:pointer;}
@media (max-width:345px){.d2-sheetpane{padding-left:15px;padding-right:15px;}.d2-sheetpane h2{font-size:20px;}}



/* V6.5 one shared detailed itinerary card system for all six days */
#itinerary-premium .d2-cover {margin-top:0;}
#itinerary-premium .d2-stop .d2-actions:empty {display:none;}
#itinerary-premium .d2-microimg:not(.loaded) {display:none!important;}
#itinerary-premium .d2-actions {display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:11px;}
#itinerary-premium .d2-actions button {min-height:36px;margin:0;}
#itinerary-premium .d2-notice p {margin:5px 0 0;font-size:12px;line-height:1.65;}
#itinerary-premium .day3-breakfast {margin-top:9px;}
#itinerary-premium .d2-cover h2 {overflow-wrap:anywhere;}
#itinerary-premium .d2-clock {max-width:50%;white-space:normal;text-align:right;}



/* V6.7: same story-before-copy order on optional sightseeing cards */
.v67-extra-actions{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:8px}
.v67-extra-actions button{font-family:inherit;font-size:11px;font-weight:750;min-height:35px;border-radius:9px;padding:7px 11px;border:1px solid #d9e5e0;color:#246b65;background:#f8fbf9}
.v67-extra-actions .v67-story-btn{background:#fffdf9;border-color:#d9e5e0}
.d2-extra-card .txt{width:100%}
.v67-home-extra{padding:11px 0;border-bottom:1px solid #e2e9e3}
.v67-home-extra:last-child{border-bottom:0}
.v67-home-extra>b{display:block}
.v67-home-extra>span{display:block;font-size:11px;color:#75847d;margin-top:4px}



/* V6.10: Match the exact original site typography scale.  The legacy
   1.1rem / .96rem overrides in V5 were still winning over V6 typography. */
#home .home-day-detail .home-day-stop-name,
#home .home-day-detail .home-day-stop-name .spotname,
#home .home-day-detail .home-day-stop-name .spotname .title-with-icon,
#home .home-day-detail .home-day-stop-name .spotname .title-with-icon > span:last-child {
  font-family:inherit;
  font-size:13px;
  font-weight:750;
  line-height:1.5;
  letter-spacing:0;
}
#home .home-day-detail .home-day-stop-desc {
  font-family:inherit;
  font-size:11px;
  font-weight:400;
  line-height:1.6;
  letter-spacing:0;
  margin-top:3px;
}
#home .home-day-detail .home-day-stop-name .timestamp {
  font-family:inherit;
  font-size:10px;
  font-weight:650;
  line-height:1.5;
}
#home .home-day-detail .home-day-stop-actions button {
  font-family:inherit;
  font-size:11px;
  line-height:1.5;
  font-weight:700;
  min-height:35px;
  padding:7px 10px;
}
#home .home-day-detail .home-day-theme,
#home .home-day-detail .home-day-weather,
#home .home-day-detail .home-day-note,
#home .home-day-detail .home-day-food,
#home .home-day-detail .home-day-food-items {
  font-family:inherit;
  font-size:11px;
  line-height:1.65;
}
#home .home-day-detail .home-day-stop .lead-icon {
  flex:none;
  font-size:12px;
  line-height:1;
}
#home .home-day-detail .home-day-stop-name .spotname {min-width:0;overflow-wrap:anywhere;}


/* V8.0 — accessible controls, reliable map search and layout consolidation */
:root{--tap-target:44px}
button,a,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #c89a50;outline-offset:2px}
.d2-stop h4,.d2-extra-card b{font-size:14px;line-height:1.5}
.d2-stop p,.d2-extra-card small,.d2-notice p,.home-day-stop-desc,.v67-home-extra span{font-size:12.5px;line-height:1.65}
.d2-actions,.v67-extra-actions,.home-day-stop-actions,.attraction-actions,.map-food-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.d2-actions>*,.v67-extra-actions>*,.home-day-stop-actions>*,.attraction-actions>*,.map-food-actions>*{box-sizing:border-box;min-height:var(--tap-target);display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border-radius:10px;font-size:12px;font-weight:750;line-height:1.35;text-decoration:none;cursor:pointer}
.d2-actions .amap-link,.v67-extra-actions .amap-link,.home-day-stop-actions .amap-link,.attraction-actions .amap-link,.map-food-actions .amap-link,.mini-actions .amap-link{color:#2c6158;border:1px solid #c6d8cf;background:#f1f7f3}
.map-food-actions{flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}
.map-food-actions>*{font-size:11.5px;min-height:40px;padding:7px 10px}
.d2-foodlist li,.food-item,.inline-food-entry{align-items:flex-start;flex-wrap:wrap}
.d2-foodlist li>div:first-child,.food-item .food-item-text{flex:1 1 140px;min-width:145px}
.d2-foodlist small{font-size:11px}
.d2-extra-card>.emoji{font-size:21px;line-height:1.2;flex-shrink:0}
.d2-extra-card .txt{min-width:0;flex:1}
.d2-extra-card .txt b{font-weight:780;display:block}
.d2-extra-card .txt small{display:block;margin-top:3px}
.d2-foodbox summary,.home-day-food summary,.home-day-extras summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.d2-sheetclose{min-width:var(--tap-target);min-height:var(--tap-target)}
.d2-sheet .d2-sheetpane,.d2-sheetpane{overscroll-behavior:contain}
.d2-stat small{font-size:11px;line-height:1.4}
.home-day-stop-name .spotname{font-size:13px;line-height:1.55}
.home-day-stop-actions button,.home-day-stop-actions .amap-link{min-height:44px}
.mini-actions{flex-wrap:wrap}
.mini-actions .amap-link{min-height:40px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:8px 10px;border-radius:9px;font-weight:750;font-size:11px}
.map-search-note{font-size:11px;color:#73887d;line-height:1.7;padding:8px 4px 10px}
.food-item{gap:9px}
.food-item .num{margin-top:5px}
.food-item .food-item-text p{font-size:11px}
.food-item .map-food-actions{margin-left:auto}
.attraction-prose p{font-size:14px;line-height:1.85}
.attraction-highlights li{font-size:13px;line-height:1.7}
@media(max-width:360px){.d2-actions>*,.v67-extra-actions>*,.home-day-stop-actions>*{flex:1 1 auto}.food-item .map-food-actions{justify-content:flex-start;margin-left:0}.d2-stat strong{font-size:12.5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Compact extra-option actions on standard mobile widths; remain tappable. */
.v67-extra-actions{gap:6px}
.v67-extra-actions>*{padding:8px 7px;font-size:11px;min-height:42px}
@media(min-width:370px){.v67-extra-actions{flex-wrap:nowrap}.v67-extra-actions>*{white-space:nowrap}}

/* Fit extra actions within 390px cards without clipping. */
.v67-extra-actions{gap:4px}
.v67-extra-actions>*{font-size:10.25px;min-height:44px;padding:7px 5px}

/* V8.1: ticket and meal details belong to each destination, never a global pending-list */
.ticket-local{margin:10px 0 7px;border:1px solid #e8dfc8;background:#fcfaf5;border-radius:11px;padding:11px 12px;color:#67563b;}
.ticket-local-top{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1.5;}
.ticket-local-top strong{font-size:12px;font-weight:800;}
.ticket-local p{font-size:11px;line-height:1.65;color:#756952;margin:5px 0 0;}
.ticket-local a{display:inline-flex;color:#386a61;font-size:11px;font-weight:750;margin-top:7px;text-decoration:underline;text-underline-offset:3px;min-height:26px;align-items:center;}
.meal-local{margin-top:9px;padding:9px 10px;background:#f0f6f3;border-radius:9px;color:#45645c;font-size:11px;line-height:1.7;}
.d2-extra-card .ticket-local{margin:8px 0 4px;}
.d2-extra-card .txt{flex:1;min-width:0;}
.home-day-stop .ticket-local,.home-day-extras .ticket-local{max-width:100%;}
.food-choice-title{font-size:11px;font-weight:850;color:#6c817b;padding:11px 19px 0;letter-spacing:.4px;}
.food-extra-tabs{display:flex;gap:8px;padding:10px 19px 14px;overflow-x:auto;}
.food-extra-tabs .foodtab-extra{background:#fff9f0;border-color:#eedfce;color:#84623f;}
.food-extra-tabs .foodtab-extra.active{background:#8a6645;border-color:#8a6645;color:white;}
.foodtab-extra small{font-size:10px;opacity:.78;}
#food-guidance{max-width:100%;white-space:normal;line-height:1.6;}
@media(max-width:350px){.food-choice-title,.food-extra-tabs{padding-left:14px;padding-right:14px;}}

/* V8.2: unify action button sizes across itinerary, extras and home expansion */
.d2-actions,.home-day-stop-actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}
.d2-actions>a,.d2-actions>button,.home-day-stop-actions>a,.home-day-stop-actions>button{display:flex!important;align-items:center;justify-content:center;text-align:center;width:100%;min-width:0!important;min-height:46px!important;padding:10px 8px!important;border-radius:10px;box-sizing:border-box;line-height:1.2;white-space:nowrap}
.d2-copy-primary,.home-day-stop-actions .copy-local{min-width:0!important}
.d2-actions .amap-link,.home-day-stop-actions .amap-link{text-decoration:none}
@media (max-width:390px){
  .d2-actions,.home-day-stop-actions{gap:7px}
  .d2-actions>a,.d2-actions>button,.home-day-stop-actions>a,.home-day-stop-actions>button{font-size:.92rem!important;padding:10px 6px!important}
}



/* V8.5: Release candidate · authoritative responsive type, card and actions system. */
:root{--trip-title-size:14px;--trip-body-size:13px;--trip-meta-size:11.5px;--trip-control-size:12px;--trip-control-height:44px}
/* One font family throughout all pages and elements, with consistent card typography. */
#itinerary-premium .d2-stop h4,#itinerary-premium .d2-extra-card .txt b,
#home .home-day-detail .home-day-stop-name .spotname,
#home .home-day-detail .home-day-stop-name .spotname .title-with-icon,
#home .home-day-detail .home-day-stop-name .spotname .title-with-icon > span:last-child,
#food .food-item-text b{font-family:inherit!important;font-size:var(--trip-title-size)!important;font-weight:750!important;line-height:1.5!important;letter-spacing:0!important;overflow-wrap:anywhere}
#itinerary-premium .d2-stop p,#itinerary-premium .d2-extra-card .txt small,
#home .home-day-detail .home-day-stop-desc,#home .v67-home-extra>span,
#food .food-item-text p{font-family:inherit!important;font-size:var(--trip-body-size)!important;line-height:1.65!important;letter-spacing:0!important}
#itinerary-premium .d2-cat,#itinerary-premium .d2-clock,#home .home-day-stop-name .timestamp{font-size:var(--trip-meta-size)!important;font-weight:700!important;line-height:1.45!important}
#itinerary-premium .d2-stop,#itinerary-premium .d2-extra-card,#home .home-day-stop{box-sizing:border-box}
/* Home information cards use the same text scale as itinerary cards. */
#home .hotel-title,#home .v6-prep-row b{font-size:var(--trip-title-size)!important;line-height:1.5!important;font-weight:750!important}
#home .hotel-sub,#home .hotel-addr,#home .v6-prep-row p{font-size:var(--trip-body-size)!important;line-height:1.6!important}
#home .flight .time{font-size:13px!important;font-weight:800!important;font-variant-numeric:tabular-nums}
#home .mini-actions>*{min-height:var(--trip-control-height)!important;font-size:var(--trip-control-size)!important;padding:8px 9px!important}
#home .charter-dates,#home .vehicle .name,#home .vmeta,#home .tipstrip{font-size:12px!important;line-height:1.6!important}
.tabbar .tab{font-size:11.5px!important}
#food .foodtab{font-size:12px!important;min-height:44px!important}

/* Two controls occupy two equal widths; three controls occupy three equal widths. */
#itinerary-premium .d2-actions.action-grid,
#itinerary-premium .v67-extra-actions.action-grid,
#home .home-day-stop-actions.action-grid{display:grid!important;gap:7px!important;width:100%;align-items:stretch;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:11px}
#itinerary-premium .action-grid.actions-2,#home .action-grid.actions-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
#itinerary-premium .action-grid.actions-3,#home .action-grid.actions-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
#itinerary-premium .action-grid >*,#home .action-grid >*,
#food .map-food-actions >*,#itinerary-premium .map-food-actions >*,
#d2-modal-content .attraction-actions >*{box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;min-width:0!important;max-width:none!important;min-height:var(--trip-control-height)!important;width:100%!important;padding:9px 5px!important;border-radius:10px!important;font-family:inherit!important;font-size:var(--trip-control-size)!important;font-weight:750!important;line-height:1.35!important;letter-spacing:0!important;white-space:normal!important;text-decoration:none!important}
#itinerary-premium .d2-actions .d2-copy-primary,#itinerary-premium .v67-extra-actions .d2-copy-primary,#home .action-grid .d2-copy-primary{min-width:0!important}
#itinerary-premium .d2-actions a,#itinerary-premium .v67-extra-actions a,#home .action-grid a{padding:9px 5px!important}
/* Optional food choices are displayed in rows of equal two buttons. */
#food .map-food-actions,#itinerary-premium .map-food-actions,#home .map-food-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:7px!important;justify-content:stretch}
#food .map-food-actions{flex:1 1 100%;margin-left:0}
#itinerary-premium .d2-foodlist li .map-food-actions,#home .inline-food-entry .map-food-actions{flex:1 1 100%;margin-left:0}
#d2-modal-content .attraction-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;justify-content:stretch}
#d2-modal-content .attraction-actions .d2-copy-primary{min-width:0!important}
/* A fixed-time reminder is compact and never confuses booked flights with an unbooked cruise. */
.trip-keytimes{margin:12px 0 15px;border:1px solid #d4e1d9;border-radius:14px;background:#fff;padding:12px 13px}
.trip-keytimes-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:#214d43;font-size:13px;font-weight:800;margin-bottom:7px}
.trip-keytimes-title small{color:#82948b;font-size:11px;font-weight:550;white-space:nowrap}
.trip-keytimes-list{display:grid;gap:2px}
.trip-keytime{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 0;border-top:1px solid #edf2ed}
.trip-keytime strong{font-size:15px;font-weight:850;color:#193d39;font-variant-numeric:tabular-nums}
.trip-keytime span{font-size:12px;line-height:1.55;color:#38564e}
.trip-keytime em{font-style:normal;font-size:10px;font-weight:750;color:#8c6540;white-space:nowrap}
#home .home-day-detail .trip-keytimes{margin:12px 0}
/* Preserve natural height for longer names: equal width/padding, never cropped content. */
@media(max-width:360px){
 #itinerary-premium .action-grid >*,#home .action-grid >*{font-size:11px!important;padding:8px 3px!important}
 .trip-keytime{grid-template-columns:47px minmax(0,1fr) auto;gap:6px}
 .trip-keytime span{font-size:11px}
}


/* V8.9 · unified stop/food typography and compact, equal-size action buttons */
:root{--trip-control-size:11px;--trip-control-height:40px}
/* Restaurant names in expanded roadside-food lists match primary itinerary titles. */
#itinerary-premium .d2-foodlist li b,
#itinerary-premium .d2-foodlist li b .title-with-icon,
#itinerary-premium .d2-foodlist li b .title-with-icon > span:last-child,
#home .home-day-food .inline-food-entry .txtline,
#home .home-day-food .inline-food-entry .txtline .title-with-icon,
#home .home-day-food .inline-food-entry .txtline .title-with-icon > span:last-child,
#food .food-item-text b,
#food .food-item-text b .title-with-icon{font-family:inherit!important;font-size:var(--trip-title-size,14px)!important;font-weight:750!important;line-height:1.5!important;letter-spacing:0!important;overflow-wrap:anywhere}
/* Compact the three (or two) actions without losing the equal column widths. */
#itinerary-premium .d2-actions.action-grid > *,
#itinerary-premium .v67-extra-actions.action-grid > *,
#home .home-day-stop-actions.action-grid > *,
#itinerary-premium .d2-foodlist .map-food-actions > *,
#home .map-food-actions > *,
#food .map-food-actions > *,
#d2-modal-content .attraction-actions > *{
  font-size:var(--trip-control-size)!important;
  min-height:var(--trip-control-height)!important;
  height:auto!important;
  padding:6px 5px!important;
  line-height:1.35!important;
  border-radius:9px!important;
  font-weight:750!important;
  text-align:center!important;
  justify-content:center!important;
  align-items:center!important;
  box-sizing:border-box!important;
}
#home .mini-actions > *{font-size:var(--trip-control-size)!important;min-height:var(--trip-control-height)!important;padding:6px 8px!important;border-radius:9px!important}
@media(max-width:360px){
 #itinerary-premium .d2-actions.action-grid > *,
 #itinerary-premium .v67-extra-actions.action-grid > *,
 #home .home-day-stop-actions.action-grid > *,
 #itinerary-premium .d2-foodlist .map-food-actions > *,
 #home .map-food-actions > *,
 #food .map-food-actions > *,
 #d2-modal-content .attraction-actions > *{font-size:11px!important;padding:6px 3px!important}
}

/* V9.3: reliable offline shell; no added controls while online. */
.network-hint{position:sticky;top:0;z-index:40;background:#fff5e6;color:#72552c;border:1px solid #f0d8a4;border-radius:10px;margin:7px 13px;padding:9px 11px;font-size:12px;line-height:1.55;text-align:left}
.network-hint[hidden]{display:none!important}
