:root{--foreground:#16354d;--background:#fff;--muted:#dce8ea;--border:#bacdd3;--muted-foreground:#607987;--viz-series-1:#12699b;--viz-series-2:#b57815;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#16354d;background:#edf3f6;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid #ec9d31;outline-offset:3px}a{color:#086697;text-underline-offset:3px}h1,h2,p{margin:0}h1{font-size:30px;letter-spacing:-1px;margin-top:3px}h2{font-size:19px;letter-spacing:-.4px;line-height:1.35}.eyebrow{font-size:12px;letter-spacing:1.7px;font-weight:750;color:#647d8b}.trip-header{display:flex;justify-content:space-between;align-items:center;padding:26px 34px;background:#fff;border-bottom:1px solid #dce5e9}.brand{display:flex;gap:15px;align-items:center}.brand-mark{display:grid;place-items:center;background:#153956;color:white;width:49px;height:49px;border-radius:14px;font-size:24px}.trip-dates{font-weight:650;font-size:16px;text-align:right}.trip-dates span{display:block;color:#6a7e8b;font-size:14px;margin-top:6px;font-weight:400}.workspace{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;padding:26px 28px 0;max-width:1600px;margin:auto}.sidebar{background:white;border:1px solid #dce6eb;border-radius:18px;padding:24px;align-self:start}.sidebar h2{margin:7px 0 20px}.stop{display:flex;align-items:center;gap:12px;background:transparent;border:1px solid transparent;border-radius:12px;text-align:left;padding:12px 10px;width:100%;color:#153956;margin-bottom:5px}.stop:hover{background:#f1f6f8}.stop.active{background:#eaf4fa;border-color:#bcdaeb}.stop-number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eef3f6;color:#526b7b;flex-shrink:0;font-size:14px}.active .stop-number{background:#12699b;color:white}.stop strong{font-size:16px}.stop small{display:block;font-size:13px;color:#607887;margin-top:5px}.secondary-label{margin-top:26px;padding-top:22px;border-top:1px solid #e1e9ed}.viz-controls{display:flex;gap:14px}.sidebar .viz-controls{flex-direction:column;margin-top:16px}.form-label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;min-width:0}input,select{width:100%;min-height:44px;border:1px solid #cbd9e0;background:#fff;border-radius:8px;padding:10px 11px;color:#25495f;font-size:14px}.map-panel{min-width:0;background:#fff;border:1px solid #dce6eb;border-radius:18px;overflow:hidden;align-self:start}.map-heading{padding:23px 24px;display:flex;justify-content:space-between;gap:16px;align-items:center}.map-heading h2{margin-top:6px}.map-tools{display:flex;gap:6px;flex-shrink:0}.map-tools button{border:1px solid #d3e0e7;background:#fff;color:#204a64;border-radius:8px;min-width:42px;min-height:42px;padding:8px;font-size:16px}#china-map-svg{background:#eff6f8!important}#china-map-svg text{font-size:14px;stroke:#eff6f8;stroke-width:4px;font-weight:500}#china-map-svg .weather{font-size:12px;fill:#536e7c}.cursor-interaction{cursor:pointer}.map-footer{display:flex;gap:20px;padding:14px 24px;font-size:13px;flex-wrap:wrap;border-top:1px solid #dce6eb}.map-footer span{display:flex;align-items:center;gap:7px}.dot{width:9px;height:9px;background:#12699b;border-radius:50%;display:inline-block}.dot.side{background:#b57815}.dot.alternative{background:white;border:1.5px solid #708895}.map-help{margin-left:auto;color:#607887}.position-toggle{display:flex;align-items:center;gap:8px;padding:9px 24px;font-size:13px;color:#526b7b}.position-toggle input{width:16px;min-height:16px;margin:0}.map-notes{padding:14px 24px;background:#f8fafb;font-size:13px;color:#627985;line-height:1.65}.map-notes summary{cursor:pointer}.map-notes p{margin:8px 0}#china-map-detail{margin-top:20px;padding-top:20px;border-top:1px solid #e1e9ed;font-size:14px;line-height:1.65}#china-map-detail strong{display:block;font-size:17px;color:#153956;line-height:1.5}#china-map-detail a{display:inline-block;margin-top:12px;font-size:13px}.search-section{max-width:1600px;margin:auto;padding:28px}.search-heading h2{margin-top:6px}.search-section .viz-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:16px 0}.search-section .card{padding:24px;background:white;border:1px solid #dce6eb;border-radius:16px}.text-small{font-size:13px;color:#667e8b;line-height:1.5}.btn{border:1px solid #bed0dc;background:#edf5fa;border-radius:8px;min-height:42px;color:#155d88;font-size:14px;font-weight:650;padding:10px}.btn:hover,.map-tools button:hover{background:#dceef9}#search-actions:empty{display:none}@media(min-width:1600px){.trip-header{padding-left:calc((100vw - 1532px)/2);padding-right:calc((100vw - 1532px)/2)}}@media(max-width:1000px){.workspace{grid-template-columns:280px minmax(0,1fr);gap:14px;padding:18px 18px 0}.sidebar{padding:18px}.map-heading{align-items:flex-start;flex-direction:column}.search-section{padding:22px 18px}.search-section .viz-controls{grid-template-columns:1fr 1fr}}@media(max-width:720px){.trip-header{padding:18px;align-items:flex-start;gap:12px}h1{font-size:25px}.brand-mark{display:none}.trip-dates{font-size:14px}.trip-dates span{font-size:12px}.eyebrow{font-size:11px}.workspace{display:flex;flex-direction:column;padding:14px}.map-panel{width:100%;order:0}.sidebar{order:1;width:100%;padding:20px}#stop-list{display:grid;grid-template-columns:1fr 1fr;gap:3px}.stop{padding:10px 5px;gap:8px}.stop small{font-size:12px}.map-heading{padding:18px}.map-footer{padding:14px 18px;gap:13px}.map-help{margin-left:0;width:100%}.search-section{padding:8px 14px 24px}.search-section .card{padding:18px}.search-section .viz-controls{grid-template-columns:1fr}.sidebar .viz-controls{display:grid;grid-template-columns:1fr 1fr}.map-notes{padding:12px 18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.workspace{grid-template-columns:370px minmax(0,1fr)}.sidebar{padding:20px}.map-panel{position:sticky;top:16px}.plan-fit,.plan-warning{padding:12px;border-radius:10px;background:#e7f4ee;color:#265e49;font-size:14px;font-weight:650;line-height:1.5}.plan-warning{background:#fff2d9;color:#775314}.planner-help{font-size:13px;line-height:1.5;color:#5c7687;margin:10px 0 15px;font-weight:400}.base-card{border:1px solid #d7e3ea;border-radius:12px;margin:10px 0;overflow:hidden}.base-card .stop{margin:0;border-radius:0}.base-controls{display:flex;align-items:center;gap:5px;padding:3px 10px 12px}.mini-action{min-width:32px;min-height:34px;background:#f3f7fa;border:1px solid #d3e0e8;border-radius:7px;font-size:16px;color:#234d68}.mini-action:disabled,.btn:disabled{opacity:.35;cursor:default}.night-count{font-size:13px;white-space:nowrap;margin:0 3px}.route-mode{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;background:#f5f8fa;font-size:13px}.route-mode select{width:105px;min-height:36px;padding:6px}.add-base{display:grid;grid-template-columns:1fr auto;gap:8px;margin:18px 0}.add-base label{grid-column:1/-1;font-size:14px;font-weight:650}.day-editor{border-top:1px solid #dce5eb;border-bottom:1px solid #dce5eb;padding:14px 0}.day-editor summary{font-size:15px;font-weight:650;cursor:pointer}.day-editor label{display:block;font-size:14px;margin:10px 0}.day-editor select{margin-top:6px}.day-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;padding:10px 0;border-bottom:1px solid #e8eef2}.plan-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.upload-plan{position:relative;overflow:hidden;text-align:center;cursor:pointer}.upload-plan input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-plan:focus-within{outline:3px solid #ec9d31}.base-card .active{border-color:transparent}#plan-summary .planner-help{margin:5px 0 0}@media(max-width:1000px){.workspace{grid-template-columns:340px minmax(0,1fr)}}@media(max-width:720px){.map-panel{position:static}.sidebar{order:0}.map-panel{order:1}#stop-list{display:block}.sidebar .viz-controls{grid-template-columns:1fr}.base-controls{gap:8px}.mini-action{min-width:38px;min-height:38px}.map-panel h2{font-size:18px}}
.mobile-jumps{display:none}@media(max-width:720px){.mobile-jumps{display:flex;gap:10px;padding:12px 14px 0;position:sticky;top:0;z-index:3;background:#edf3f6;padding-bottom:10px}.mobile-jumps a{background:#fff;border:1px solid #cbdce6;border-radius:8px;padding:10px 14px;font-size:14px;text-decoration:none;font-weight:650}#itinerary-workspace,#map-workspace{scroll-margin-top:70px}}
.trip-date-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.trip-date-form label,.outing-fields label,.activity-filters label,.ring-tools label{font-size:14px;display:flex;flex-direction:column;gap:7px}.trip-date-form button{grid-column:1/-1}#date-error:empty{display:none}#date-error{grid-column:1/-1;font-size:13px;color:#a33434}.outing-card{border:1px solid #d4e1e8;border-radius:10px;padding:12px;margin-top:12px}.outing-title{display:flex;gap:10px;justify-content:space-between;align-items:start}.outing-title strong{font-size:14px;line-height:1.5}.outing-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.outing-warning{font-size:13px;color:#895311;margin-top:10px;line-height:1.5}.source-link,.browse-link{display:inline-block;font-size:14px;margin-top:12px}.ring-tools{display:flex;gap:14px;align-items:end;flex-wrap:wrap;padding:14px 22px;border-top:1px solid #dce6eb}.ring-tools label:first-child{flex:1;min-width:160px}.ring-tools .ring-toggle{display:flex;flex-direction:row;align-items:center;min-height:42px;font-size:13px}.ring-toggle input{width:16px;min-height:16px}.ring-key{display:flex;flex-wrap:wrap;gap:10px;padding:0 22px;font-size:12px}.ring-key span{border-bottom:3px solid #3d92c0;padding:4px}.ring-key span:nth-child(2){border-color:#b69539}.ring-key span:nth-child(3){border-color:#449f9f}.ring-key span:nth-child(4){border-color:#9270ba}.ring-key span:last-child{border-color:#abb7c2}.ring-note{padding:8px 22px 12px;font-size:12px;color:#607887}#china-map-svg .ring-label{font-size:12px;fill:#607187;stroke-width:2px}.activity-section{max-width:1600px;margin:auto;padding:28px}.activity-section h2{margin-top:6px}.activity-filters{display:grid;grid-template-columns:1fr 2fr 1fr 1fr auto;gap:14px;background:white;padding:20px;border:1px solid #dce6eb;border-radius:14px;align-items:end}.activity-filters button{min-height:44px}.activity-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.activity-card{background:white;border:1px solid #d7e3ea;border-radius:14px;overflow:hidden}.activity-card img{width:100%;height:175px;object-fit:cover;background:#e2eaf0}.activity-body{padding:18px}.activity-body h3{font-size:16px;line-height:1.45;margin:10px 0}.activity-body h3 a{color:#183e57;text-decoration:none}.activity-meta{font-size:12px;color:#597486}.activity-price{font-size:14px;color:#3d6078}.activity-add{display:flex;gap:10px;margin-top:16px}.activity-add select{flex:1;min-width:0}.activity-add button{white-space:nowrap}.empty-results{padding:26px;background:white;grid-column:1/-1;border-radius:12px}#activity-count{font-size:15px;margin:18px 0}.activity-section{scroll-margin-top:70px}@media(max-width:1050px){.activity-filters{grid-template-columns:1fr 1fr}.activity-filters button{grid-column:1/-1}.activity-results{grid-template-columns:1fr 1fr}}@media(max-width:720px){.activity-section{padding:24px 14px}.activity-results{grid-template-columns:1fr}.activity-filters{padding:15px}.activity-filters label:nth-child(2){grid-column:1/-1;grid-row:1}.ring-tools{padding:14px}.activity-card img{height:190px}.trip-date-form input{min-width:0}.map-panel{scroll-margin-top:70px}}
.dot.half{background:#15846e}.dot.visit{background:#a24f90}
h1{overflow-wrap:anywhere;font-size:27px}.brand-mark{font-size:18px}.ring-key span:nth-child(5){border-color:#6c63b5}.ring-key span:nth-child(6){border-color:#a85573}.ring-key span:last-child{border-color:#abb7c2}.activity-filters{grid-template-columns:1fr 2fr 1fr 1fr 1fr auto}@media(max-width:1200px){.activity-filters{grid-template-columns:1fr 1fr 1fr}.activity-filters button{grid-column:auto}}@media(max-width:720px){h1{font-size:22px}.trip-header{flex-wrap:wrap}.trip-dates{text-align:left}.activity-filters{grid-template-columns:1fr 1fr}.activity-filters button{grid-column:1/-1}}
.ring-key button{display:inline-flex;gap:9px;align-items:center;border:1px solid #d1dce6;border-bottom:3px solid #3d92c0;border-radius:7px;background:white;color:#234d68;padding:8px 10px;min-height:38px;font-size:13px}.ring-key button span{border:0;padding:0}.ring-key button:nth-child(2){border-bottom-color:#b69539}.ring-key button:nth-child(3){border-bottom-color:#449f9f}.ring-key button:nth-child(4){border-bottom-color:#9270ba}.ring-key button:nth-child(5){border-bottom-color:#6c63b5}.ring-key button:nth-child(6){border-bottom-color:#a85573}.ring-key button[aria-pressed=false]{background:#e9edf1;border-bottom-color:#a9b4bc;color:#71808b}.ring-key button[aria-pressed=false] span:first-child{text-decoration:line-through}.ring-key button[aria-pressed=false] .ring-cross{transform:rotate(45deg)}.ring-cross{font-size:19px;line-height:1}.ring-toggle-help{font-size:13px;color:#526f80;padding:10px 22px 0}.ring-key .outer-ring-note{align-self:center;border:0;font-size:12px}
.show-base-pin{margin:0 10px 12px;width:calc(100% - 20px);background:#12699b;color:white;border-color:#12699b}.show-base-pin:hover{background:#0c547f}.pin-status{padding:10px 22px;color:#155d88;background:#eaf4fa;border-top:1px solid #d1e4ef;margin:0;font-size:14px;line-height:1.5}.activity-filters{grid-template-columns:1fr 2fr 1fr 1fr auto}@media(max-width:1050px){.activity-filters{grid-template-columns:1fr 1fr}.activity-filters button{grid-column:1/-1}}

/* Compact, screen-sized map place guides. */
#china-map-stage{position:relative}
.place-popup{position:absolute;z-index:5;width:min(340px,calc(100% - 20px));box-sizing:border-box;max-height:calc(100% - 20px);overflow:auto;overscroll-behavior:contain;background:#fff;color:#193c52;border:1px solid #cbdbe4;border-radius:16px;padding:18px;box-shadow:0 8px 30px #12334a26;font-size:14px;line-height:1.45;text-align:left}
.place-popup[hidden]{display:none}
.place-popup h3{margin:0 28px 5px 0;font-size:18px;line-height:1.25;overflow-wrap:anywhere}
.place-popup .popup-meta{font-size:12px;color:#607887;margin:0 0 10px}
.place-popup .popup-row{margin:7px 0;font-size:14px;line-height:1.45}
.place-popup .popup-row strong{color:#1b587b}
.place-popup .popup-note{font-size:12px;color:#607887;line-height:1.4;margin:9px 0}
.place-popup .popup-close{position:absolute;right:8px;top:7px;background:transparent;border:0;color:#315d74;font-size:24px;width:34px;height:34px;cursor:pointer;padding:0}
.place-popup .popup-links{display:flex;gap:14px;flex-wrap:wrap;font-size:12px}
.place-popup a{color:#126389;text-decoration:underline}
.place-popup button:focus-visible,.place-popup a:focus-visible{outline:2px solid #1377a2;outline-offset:2px}

.map-jump{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 18px;border-top:1px solid #d7e2e8}.map-jump>span{font-size:13px;color:#607887;margin-right:auto}.map-jump .btn{padding:9px 12px;min-height:40px;font-size:14px}.map-jump .red-beach-jump{color:#a32647;border-color:#e3b3bd;background:#fff3f6}.popup-photos{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.popup-photos figure{margin:0;min-width:0}.popup-photos img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:8px}.popup-photos figcaption{font-size:12px;line-height:1.3;margin-top:4px}.popup-photos a{display:block}
/* vikasifications.com/builds/travels additions */
[hidden]{display:none!important}
.eyebrow a{color:inherit;text-decoration:none}.eyebrow a:hover{text-decoration:underline}
.noscript-note{margin:16px 28px;padding:12px 16px;background:#fff6e6;border:1px solid #f0d49c;border-radius:10px}
.start-trip{padding:40px 16px 24px}
.start-card{max-width:520px;margin:0 auto;background:#fff;border:1px solid #dce6eb;border-radius:18px;padding:28px}
.start-card h2{margin:8px 0 10px;font-size:24px}
.start-form{display:grid;gap:14px;margin:20px 0 14px}
.start-form label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600}
#start-error{color:#b3261e;font-size:14px}#start-error:empty{display:none}
.btn-primary{background:#12699b;color:#fff;border-color:#12699b;min-height:46px;font-weight:650}
.btn-primary:hover{background:#0e5680}
.start-alt{margin:4px 0 12px;font-size:14px}
.link-button{background:none;border:0;padding:0;color:#086697;text-decoration:underline;text-underline-offset:3px;font-size:inherit}
.about-planner{max-width:860px;margin:32px auto 48px;padding:0 28px;line-height:1.6;color:#25495f}
.about-planner h2{font-size:22px;margin-bottom:10px}
.about-planner h3{font-size:16px;margin:20px 0 6px}
.about-planner p{margin:0 0 10px}
.about-credit{margin-top:22px!important;padding-top:14px;border-top:1px solid #dce5e9;font-size:14px}
@media (max-width:640px){.start-card{padding:20px}.about-planner{padding:0 16px}}
.popup-summary{font-size:14px;line-height:1.5;margin:8px 0 4px;color:#25495f}
.activity-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.activity-links .btn{text-decoration:none}
.builder-story{background:#fff;border-top:1px solid #dce5e9;padding:40px 28px 48px}
.story-inner{max-width:680px;margin:0 auto;line-height:1.65;color:#25495f;font-size:17px}
.story-inner h2{font-size:24px;margin:8px 0 18px;color:#16354d}
.story-inner p{margin:0 0 14px}
.story-sign{margin-top:24px!important;padding-top:14px;border-top:1px solid #dce5e9;font-size:14px;color:#607987}
@media (max-width:640px){.builder-story{padding:32px 16px 40px}.story-inner{font-size:16px}}
.region-pills{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:18px 0 4px}
.region-label{width:100%;font-size:14px;font-weight:600}
.region-pills button{border:1px solid #cbd9e0;background:#fff;color:#204a64;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600}
.region-pills button small{font-weight:400;color:#607987}
.region-pills button[aria-pressed="true"]{background:#12699b;border-color:#12699b;color:#fff}
.region-pills button[aria-pressed="true"] small{color:#dcebf5}
.region-line{font-size:13px;color:#607987;margin:-12px 0 16px!important}
.china-faq{max-width:860px;margin:32px auto 0;padding:0 28px;color:#25495f;line-height:1.6}
.china-faq h2{font-size:22px;margin-bottom:6px}
.china-faq details{background:#fff;border:1px solid #dce6eb;border-radius:10px;padding:12px 16px;margin:10px 0}
.china-faq summary{cursor:pointer;font-weight:650;color:#16354d}
.china-faq details p{margin:8px 0 0}
@media (max-width:640px){.china-faq{padding:0 16px}}
