/* Family reading edition: one task at a time, generous type and controls. */
:root{font-size:125%;--muted:#4e5c59;--rust:#954224;--line:#c4cec5}html{scroll-behavior:auto;scroll-padding-top:112px}html.large-type{font-size:162.5%}body.family-guide{font-size:1rem;line-height:1.75}*{min-width:0}button,input,select,summary{font:inherit}button,select,input[type=search]{min-height:50px}button,a,summary{touch-action:manipulation}button{border-radius:10px;padding:.5rem .8rem}button:disabled{opacity:.55;cursor:default}a{overflow-wrap:anywhere}p{margin-bottom:1rem}h1,h2,h3,h4{font-family:inherit;letter-spacing:0;line-height:1.45}h1{font-size:1.8rem;font-weight:700;margin-bottom:.35rem}h2{font-size:1.6rem;font-weight:700}h3{font-size:1.2rem}h4{font-size:1.05rem}small{font-size:.85rem}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #954224;outline-offset:4px}.skip-link{position:fixed;top:-150px;left:10px;z-index:5000;padding:12px;background:white}.skip-link:focus{top:10px}
.family-header{height:auto;min-height:98px;padding:12px max(24px,calc((100vw - 1240px)/2));gap:25px;z-index:1500;background:#f5f2e9}.brand{font-family:inherit;font-size:1.15rem;letter-spacing:0;line-height:1.4}.brand span{font-size:.8rem;letter-spacing:0;margin-top:4px}.family-header nav{gap:6px;flex:1;justify-content:center}.family-header nav a{font-size:.95rem;font-weight:bold;min-height:50px;min-width:70px;padding:10px 14px;display:flex;align-items:center;justify-content:center;border-radius:9px}.family-header nav a[aria-current=page]{background:var(--teal);color:#fff}.family-header #fontSizeToggle{font-size:.8rem;white-space:nowrap}main>.app-panel{max-width:1240px;padding:32px 28px 50px}.app-panel[hidden]{display:none!important}.sectionhead{display:block;margin-bottom:22px}.sectionhead>p,.section-intro{font-size:1rem;color:var(--muted);margin:6px 0}.eyebrow{font-size:.8rem;letter-spacing:0;margin-bottom:8px;color:var(--rust)}
.day-picker,.night-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.night-picker{grid-template-columns:repeat(3,1fr)}.day-picker button,.night-picker button{text-align:left;padding:14px 18px;line-height:1.5}.day-picker b,.day-picker span,.night-picker b,.night-picker span{display:block}.day-picker b{font-size:1.1rem}.day-picker span,.night-picker span{font-size:.85rem}.day-picker button[aria-pressed=true],.night-picker button[aria-pressed=true],.food-mode [aria-pressed=true],.map-scope [aria-pressed=true]{background:var(--teal);color:#fff;border-color:var(--teal)}.day-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:24px;align-items:start}.family-day{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:26px}.family-day h2{font-size:1.35rem;margin:0 0 22px}.family-step{display:grid;grid-template-columns:90px 1fr;gap:18px;position:relative;padding:16px 0;border-bottom:1px solid #dde2d8}.family-step:last-child{border-bottom:0}.family-step time{font-size:1.15rem;font-weight:bold;color:var(--teal);font-variant-numeric:tabular-nums}.family-step b{font-size:1rem}.family-step p{margin:0}.family-step small{display:block;font-size:.85rem;color:var(--muted);line-height:1.75;margin-top:5px}.day-aside{display:grid;gap:18px}.day-summary{background:#e6eee5;border:1px solid var(--line);border-radius:12px;padding:22px}.day-summary h3{margin:0 0 12px}.day-summary p{margin-bottom:12px}.day-summary .context-action{display:block;width:100%;text-align:left;margin:10px 0 0;background:var(--white)}.day-important{background:#fbefdc;border-left:5px solid #954224}.day-important b{display:block}.time-chain{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:#fbefdc;border:1px solid #d8b991;border-radius:12px;padding:20px;margin-bottom:22px}.time-chain time{font-size:1.45rem;font-weight:bold;display:block;color:#733b25}.time-chain span{display:block;font-size:.85rem}.time-chain p{grid-column:1/-1;font-size:.85rem;margin:0}.day-nav{display:flex;justify-content:space-between;gap:16px;margin-top:24px}.day-nav button{flex:1}.routefoot{font-size:.85rem;line-height:1.7}.organizer-notes{margin-top:24px}.north-note{font-size:1rem!important}.focus-grid{grid-template-columns:1fr}.focus{border-radius:8px;padding:24px}.focus p,.focus a{font-size:1rem}.focus .eyebrow{font-size:.8rem}.focus-grid h3{font-size:1.2rem}
details{font-size:1rem;margin:18px 0;border:1px solid var(--line);border-radius:10px;padding:0 18px;background:#fffdf7}details>summary{min-height:54px;padding:14px 0;cursor:pointer;font-weight:bold;font-size:.95rem;line-height:1.65}details>summary::marker{color:var(--teal)}details p{color:var(--muted)}.method{font-size:.9rem;padding:0 18px}.method summary{padding:14px 0}.method p{font-size:.9rem}.history{margin-top:28px}.booking-note,.source-caption{font-size:.85rem!important;line-height:1.75}.night-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:26px;background:var(--white);border:1px solid var(--line);border-radius:14px;padding:26px}.night-card.single{grid-template-columns:1fr;max-width:900px}.night-card h3{font-size:1.4rem}.night-card .room-line{font-size:1.1rem;font-weight:bold}.night-card .night-main-photo{width:100%;padding:0;align-self:start;overflow:hidden;border-radius:10px;text-align:left}.night-main-photo img{width:100%;display:block;aspect-ratio:1.3;object-fit:cover}.night-main-photo span{display:block;padding:12px;font-size:.85rem}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.button-row a,.button-row button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border:1px solid var(--teal);border-radius:9px;padding:9px 15px;font-size:.95rem;background:var(--white);text-decoration:none}.button-row .primary-action{background:var(--teal);color:white}.room-gallery{padding:16px 0}.room-gallery h3{font-size:1.3rem}.room-gallery p,.room-gallery .source-caption{font-size:.9rem}.room-photo span{font-size:.85rem}.room-photos{grid-template-columns:repeat(3,1fr)}.room-main{grid-column:span 2}.hotelgrid{grid-template-columns:repeat(2,1fr)}.hotel h3{font-size:1.1rem}.hotel-zone,.pic-label,.enroom,.price-note,.twototal,.features,.hotel .remark,.cancellation,.hotel-actions a,.hotel-actions label,.room,.price small,.route-map{font-size:.85rem!important}.thumbs button{width:75px;height:54px}.hotel-actions{flex-wrap:wrap}.hotel .picture img{transition:none}.comparetable{font-size:.9rem}
.food-mode,.map-scope{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.food-mode button{font-size:.9rem}.food-toolbar{padding:18px;border-radius:10px}.food-top-filters{display:grid;grid-template-columns:2fr 1fr;gap:14px}.food-top-filters label span{font-size:.85rem}.food-top-filters input,.food-top-filters select,.food-extra-controls select,.food-bottom-filters select{font-size:1rem;width:100%;padding:10px;background:#fff}.food-more-filters{margin:14px 0 0;background:transparent}.food-extra-controls{display:grid;grid-template-columns:1fr}.food-bottom-filters{display:flex;flex-wrap:wrap;gap:14px}.food-bottom-filters label{font-size:.85rem;flex:1 1 200px}.food-bottom-filters .food-check{display:flex;align-items:center;gap:10px}.food-method{font-size:.8rem;line-height:1.75;margin:16px 0 0}#foodCount{font-size:.85rem;display:block;margin:18px 0}.food-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.food-card{border-radius:12px;display:block}.food-photo{height:245px;width:100%}.food-photo img{object-fit:cover}.food-photo span{font-size:.8rem}.food-body{padding:22px}.food-meta,.food-meta span,.food-address{font-size:.85rem}.food-body h3{font-size:1.3rem;line-height:1.5}.food-body p{font-size:.95rem;line-height:1.75}.food-body p b{display:block;margin-bottom:4px}.food-distances{display:grid;grid-template-columns:1fr 1fr;gap:10px}.food-distances span,.food-distances b{font-size:.8rem;line-height:1.65}.food-body .food-route{background:#eaf0e5;font-size:.95rem;padding:12px}.food-evidence{padding:0 14px}.food-evidence summary{font-size:.9rem}.food-review p{font-size:.9rem}.food-review small,.food-caveat,.photo-credit,.food-source{font-size:.8rem!important}.review-links{display:flex;flex-wrap:wrap;gap:12px}.review-links a,.review-links button{min-height:48px;display:inline-flex;align-items:center;font-size:.85rem}.food-actions{display:flex;flex-wrap:wrap;gap:10px}.food-actions a,.food-actions button{font-size:.9rem;min-height:50px;padding:9px 13px;line-height:1.5}.food-actions a{flex:1 1 100%;justify-content:center}.food-actions button{flex:1}.food-actions .selected{background:var(--teal);color:white}.food-source{display:block;min-height:48px;padding:10px 0}
.map-return{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.map-return span{font-size:.85rem}.map-area-tools{margin:0;flex:0 1 auto}.maptoolbar{flex-wrap:wrap;align-items:start}.maptoolbar .seg{flex-wrap:wrap}.maptoolbar .seg button{font-size:.85rem}.search{padding:0 12px;min-height:54px;flex:1 1 250px;max-width:none;font-size:.9rem}.search input{font-size:1rem}.atlas{grid-template-columns:320px minmax(0,1fr);height:720px}.filterrow{flex-wrap:wrap}.filterrow select{font-size:.85rem;max-width:100%;width:100%;min-height:48px}.checkline,.listmeta{font-size:.8rem}.checkline{display:flex;gap:10px;align-items:center;min-height:48px}.pointitem{grid-template-columns:34px 1fr;min-height:74px}.pointitem b{font-size:.9rem}.pointitem small{font-size:.8rem}.pointitem .no{font-size:1rem}.maphint,.maplegend{font-size:.8rem}.maplegend{gap:8px}.maplegend label{min-height:48px;display:flex;align-items:center}.leaflet-popup-content{max-width:calc(100vw - 90px);width:300px!important}.leaflet-popup-content p,.leaflet-popup-content small{font-size:16px}.leaflet-popup-content h3{font-size:21px}.leaflet-container .poplinks a{font-size:16px;min-height:48px;padding:9px 0;display:inline-flex;align-items:center}.poplinks{flex-wrap:wrap;gap:8px}.leaflet-touch .leaflet-bar a,.leaflet-bar a{width:48px;height:48px;line-height:48px;font-size:25px}.leaflet-container .leaflet-popup-close-button{width:44px;height:44px;line-height:44px;font-size:26px}.poi-icon{font-size:15px;line-height:40px}.region-notes{grid-template-columns:repeat(3,1fr)}.region-notes b{font-size:1rem}.region-notes span{font-size:.8rem}.region-label{font-size:16px}.leaflet-control-attribution{font-size:11px!important}.map-expanded{inset:98px 0 0;max-width:none!important}.map-expanded .map-scope,.map-expanded .map-return,.map-expanded .map-area-tools{display:none}.map-expanded .atlas{height:calc(100dvh - 210px)}
.packing-short{background:#e6eee5;padding:24px;border-radius:12px}.packing-short b{font-size:1.2rem}.packing-short p{margin:8px 0 0}.prepgrid{grid-template-columns:1fr;gap:15px}.check{font-size:1rem;gap:15px;padding:18px 0;cursor:pointer}.check small{font-size:.85rem;margin-top:7px}.check input,input[type=checkbox]{width:24px;height:24px;flex:0 0 24px;accent-color:var(--teal)}.check.done span{text-decoration:none}.check.done span::before{content:'已核对 · ';font-weight:bold;color:var(--teal)}.transport-details{margin:0}.textlink{margin:0;display:inline-flex;align-items:center;min-height:50px}.confirmed{padding:0 18px}.confirmed-grid{grid-template-columns:1fr}.confirmed-grid p,.confirmed-grid span{font-size:.9rem}.sourcegrid{grid-template-columns:1fr;gap:15px}.sourcegrid p,.sourcegrid a{font-size:.9rem}.sourcegrid h3{font-size:1.2rem}footer{max-width:1240px;font-size:.8rem;padding:24px 28px 40px;gap:15px}footer a{min-height:48px;display:inline-flex;align-items:center}
dialog{width:min(960px,96vw);max-height:95dvh;overflow:auto;padding:18px;border-radius:12px}#closeGallery,.media-close{position:static;display:block;margin:0 0 12px auto;width:auto;height:auto;font-size:.9rem;min-height:48px;padding:8px 15px;border:1px solid var(--line);background:var(--white)}.gallerybar,.media-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:0 0 15px;align-items:center}.gallerybar span,.media-toolbar span{font-size:.8rem;text-align:center}.gallerybar button,.media-toolbar button{min-height:48px;width:auto;height:auto;font-size:.85rem;padding:10px}#mediaImage,#largePhoto{max-height:58dvh;width:100%;object-fit:contain}#mediaCaption,#photoCaption{font-size:.85rem;line-height:1.7;margin:14px 0 0}#toast{font-size:.9rem;bottom:30px;width:max-content;max-width:calc(100vw - 32px);padding:14px 20px}.print-plan{display:none}
@media(min-width:900px){html.large-type .day-layout{grid-template-columns:1fr}html.large-type .day-aside{grid-template-columns:1fr 1fr}html.large-type .food-grid{grid-template-columns:1fr}html.large-type .food-card{display:grid;grid-template-columns:35% 1fr}html.large-type .food-photo{height:360px}}
@media(max-width:900px){.family-header{padding:12px 20px;gap:12px;flex-wrap:wrap}.family-header nav{order:3;flex-basis:100%}.day-layout{grid-template-columns:1fr}.day-aside{grid-template-columns:1fr 1fr}.night-card{grid-template-columns:1fr}.atlas{grid-template-columns:270px 1fr}.food-grid{grid-template-columns:1fr}.food-card{display:grid;grid-template-columns:34% 1fr}.food-photo{height:300px}.time-chain{gap:10px}}
@media(max-width:600px){html{scroll-padding-top:98px}.family-header{position:sticky;min-height:80px;flex-wrap:nowrap;padding:12px 16px;justify-content:space-between}.brand{font-size:1rem}.brand span{font-size:.8rem}.family-header #fontSizeToggle{padding:8px 10px;font-size:.8rem}.family-header nav{position:fixed;bottom:0;left:0;right:0;z-index:2200;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;background:#fffdf7;border-top:1px solid #b7c4b8;padding:8px 8px max(8px,env(safe-area-inset-bottom));width:100%;box-shadow:0 -3px 16px #223f3c12}.family-header nav a,.family-header nav a:last-child{display:flex;font-size:.8rem;min-width:0;padding:8px 3px;min-height:50px;border-radius:8px}.family-guide{padding-bottom:80px}main>.app-panel{padding:24px 16px 30px}.sectionhead{margin-bottom:18px}h1{font-size:1.45rem}h2{font-size:1.4rem}.section-intro,.sectionhead>p{font-size:.9rem}.day-picker{grid-template-columns:1fr 1fr;margin:18px 0;gap:9px}.day-picker button,.night-picker button{padding:12px;min-height:88px}.day-picker b{font-size:1.05rem}.day-picker span{font-size:.8rem}.night-picker{grid-template-columns:1fr;gap:8px}.night-picker button{min-height:60px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.day-layout{gap:18px}.family-day{padding:20px 16px}.family-day h2{font-size:1.15rem;margin-bottom:12px}.family-step{grid-template-columns:74px minmax(0,1fr);gap:10px;padding:17px 0}.family-step time{font-size:1.05rem}.family-step b{font-size:1rem}.family-step small{font-size:.85rem}.day-aside{grid-template-columns:1fr}.day-summary{padding:20px}.day-nav{gap:10px}.day-nav button{font-size:.9rem}.time-chain{grid-template-columns:1fr;padding:18px;gap:12px}.time-chain>div{display:grid;grid-template-columns:90px 1fr;align-items:baseline;gap:10px}.time-chain time{font-size:1.2rem}.time-chain span{grid-column:2}.time-chain p{font-size:.85rem;border-top:1px solid #d8b991;padding-top:12px}.night-card{padding:20px 18px;gap:20px}.night-card h3{font-size:1.25rem}.button-row{flex-direction:column}.button-row>*{width:100%}.room-photos{grid-template-columns:1fr 1fr}.room-main{grid-column:1/-1}.hotelgrid{grid-template-columns:1fr}.food-mode{gap:7px}.food-mode button{font-size:.85rem;padding:10px;flex:1 1 100px}.food-toolbar{padding:14px}.food-top-filters{grid-template-columns:1fr}.food-bottom-filters{display:grid;grid-template-columns:1fr}.food-card{display:block}.food-photo{height:220px}.food-body{padding:20px 16px}.food-body h3{font-size:1.2rem}.food-distances{grid-template-columns:1fr}.food-distances span{display:flex;gap:12px;flex-wrap:wrap}.food-grid{gap:22px}.food-method{font-size:.8rem}.maptoolbar{gap:10px}.map-area-tools{width:100%}.maptoolbar .seg{width:auto}.maptoolbar>button{font-size:.9rem;padding:10px 15px}.search{width:100%;flex-basis:100%;order:0}.atlas{display:flex;height:auto;flex-direction:column-reverse}.mapwrap{height:auto}.mapwrap #map{height:360px;flex:none;min-height:360px}.mapaside{height:auto;max-height:none}.filterrow{display:grid;grid-template-columns:1fr 1fr}#pointlist{overflow:visible;max-height:none}.pointitem{padding:14px 12px}.region-notes{grid-template-columns:1fr 1fr}.region-notes button{padding:15px 12px}.maphint{font-size:.8rem}.maplegend{font-size:.8rem}.map-expanded{inset:80px 0 74px;padding:12px!important}.map-expanded .mapwrap{height:auto}.map-expanded .atlas{height:auto}.map-expanded #map{height:calc(100dvh - 320px);min-height:220px}.map-expanded .maphint,.map-expanded .maplegend{display:none}.focus{padding:20px 16px}.prepgrid{margin-top:20px}.sourcegrid{grid-template-columns:1fr}.sectionhead .eyebrow{font-size:.8rem}dialog{padding:12px}.media-toolbar,.gallerybar{grid-template-columns:1fr 1fr;gap:10px}.media-toolbar span,.gallerybar span{grid-column:1/-1;grid-row:1;text-align:left;font-size:.85rem}.media-toolbar button,.gallerybar button{width:100%}#mediaImage,#largePhoto{max-height:46dvh}#toast{bottom:90px;font-size:.85rem}footer{padding:20px 16px}.family-guide.large-type .family-step{grid-template-columns:1fr}html.large-type .family-step{grid-template-columns:1fr;gap:4px}html.large-type .day-picker{grid-template-columns:1fr}html.large-type .food-actions{display:grid;grid-template-columns:1fr}html.large-type .time-chain>div{grid-template-columns:1fr}html.large-type .time-chain span{grid-column:1}html.large-type .family-header{align-items:center}.room-photo span{padding:10px;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.family-header,.app-panel,footer,#toast{display:none!important}.print-plan{display:block!important;font-size:12pt;color:#000}.print-plan article{break-inside:avoid;margin:20px 0}.print-plan h2{font-size:16pt}.print-plan p{font-size:12pt;margin:8px 0}.family-guide{padding:0}.print-plan small{font-size:11pt}}
html{scroll-padding-top:calc(var(--family-header-height,98px) + 16px)}
.day-quick{padding:18px 22px;background:#e6eee5;border:1px solid var(--line);border-radius:12px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.day-quick p{font-size:.9rem;margin:0}.day-quick b{display:block;font-size:1.1rem}.day-quick>div{display:flex;gap:8px;flex-wrap:wrap}.day-quick button{font-size:.85rem}.food-top-filters{grid-template-columns:1fr}.food-extra-controls{gap:14px}.map-return{position:sticky;top:var(--family-header-height,98px);background:#e9ece3;padding:10px 0;z-index:1400;border-bottom:1px solid var(--line)}.mapwrap{scroll-margin-top:90px}
@media(max-width:600px){.day-picker button{min-height:88px}.day-quick{display:block;padding:16px}.day-quick>div{margin-top:12px;display:grid;grid-template-columns:1fr 1fr}.day-quick button:last-child{grid-column:1/-1}.day-quick b{font-size:1rem}.family-guide{padding-bottom:calc(var(--family-nav-height,72px) + 14px)}.map-return{gap:6px}.map-return span{width:100%}.mapwrap{scroll-margin-top:125px}.food-mode button{flex:1;font-size:.8rem;min-width:0}.food-more-filters summary{font-size:.85rem}}
@media(max-width:600px){.family-header{flex-wrap:wrap}.family-header .brand{flex:1 1 150px}.family-header #fontSizeToggle{flex-shrink:0}.family-header nav a,.family-header nav a:last-child{padding:8px 0;overflow-wrap:anywhere}.day-picker{grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5rem),1fr))}.family-step{display:flex;flex-wrap:wrap;gap:10px}.family-step time{flex:0 0 3.7rem}.family-step p{flex:1 1 9rem}.map-expanded{inset:var(--family-header-height,80px) 0 var(--family-nav-height,74px)}.map-return{z-index:1400}.day-quick{overflow-wrap:anywhere}}
@media print{html:not(.family-ready) .app-panel{display:block!important}html:not(.family-ready) #route{break-before:auto}}

.day-picker span{font-size:1rem;font-weight:600}.maptoolbar .seg button{font-size:.95rem}.family-step{display:flex;flex-wrap:wrap}.family-step time{flex:0 0 4.5rem}.family-step p{flex:1 1 12rem}#mapSearchNotice{font-size:.85rem;background:#fffdf7;padding:12px;border-left:4px solid var(--teal)}
@media(max-width:600px){.family-step time{flex:0 0 3.7rem}.family-step p{flex:1 1 9rem}.day-picker span{font-size:1rem}}
#mediaClose{float:none;font-size:.9rem;line-height:1.5;padding:8px 15px}.media-toolbar{margin:0 0 15px}.food-toolbar label,.food-toolbar label span{font-size:.85rem}.food-bottom-filters select{max-width:100%;margin-left:0}.room-gallery h3{font-family:inherit}
[hidden]{display:none!important}#mediaLoadStatus{font-size:.9rem;color:var(--muted);text-align:center;padding:20px}#mediaRetry{display:block;margin:0 auto 16px;min-height:50px}
.family-fallback .family-header nav,.family-fallback #fontSizeToggle{display:none}.family-fallback .family-guide{padding-bottom:0}.emergency-guide{max-width:900px!important;font-size:1rem}.emergency-guide a{display:inline-block;min-height:48px;padding:8px 0}.emergency-guide h2{margin-top:32px}
