.builder-chip[data-astro-cid-psaj4b6q]{border-radius:.25rem;border-width:1px;border-color:var(--color-line);padding:.5rem .75rem;font-size:.875rem;line-height:1.25rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.builder-chip[data-astro-cid-psaj4b6q]:hover{border-color:var(--color-seal);background-color:var(--color-paper-alt)}.builder-chip[data-astro-cid-psaj4b6q].is-selected{border-color:var(--color-seal);background-color:var(--color-paper-alt);font-weight:600;color:var(--color-seal)}.builder-option[data-astro-cid-psaj4b6q]{border-radius:.5rem;border-width:2px;border-color:var(--color-line);padding:1rem;text-align:left;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.builder-option[data-astro-cid-psaj4b6q]:hover,.builder-option[data-astro-cid-psaj4b6q].is-selected{border-color:var(--color-seal);background-color:var(--color-paper-alt)}.builder-nav-next[data-astro-cid-psaj4b6q]{border-radius:9999px;background-color:var(--color-seal);padding:.625rem 1.25rem;font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.builder-nav-next[data-astro-cid-psaj4b6q]:hover{opacity:.9}.builder-nav-next[data-astro-cid-psaj4b6q]:disabled{cursor:not-allowed;opacity:.4}.builder-nav-back[data-astro-cid-psaj4b6q]{border-radius:9999px;padding:.625rem 1rem;font-size:.875rem;line-height:1.25rem;font-weight:500;color:var(--color-ink-soft);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.builder-nav-back[data-astro-cid-psaj4b6q]:hover{color:var(--color-seal)}.day-card{margin-bottom:1rem;border-radius:1rem;border-width:1px;border-color:var(--color-line);background-color:var(--color-paper);padding:1.25rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.day-header{margin-bottom:.75rem;margin-top:1.5rem;border-bottom-width:2px;border-color:var(--color-line);padding-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-seal)}.day-title{margin-bottom:.75rem;font-size:1.5rem;line-height:2rem;font-weight:700;color:var(--color-ink)}.slot-block{margin-bottom:.75rem;border-radius:.5rem;background-color:var(--color-paper-alt);padding:.75rem}.slot-title{font-size:1.125rem;line-height:1.75rem;font-weight:700;color:var(--color-ink)}.slot-meta{margin-top:.125rem;font-size:.875rem;line-height:1.25rem;color:var(--color-ink-mute)}.slot-notes{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;color:var(--color-ink-soft)}.transit-hint{display:flex;align-items:flex-start;gap:.4rem;margin:-.25rem 0 .5rem .5rem;padding:.4rem .6rem;background:var(--color-paper-alt);border-left:2px dashed var(--color-line);font-size:.78rem;color:var(--color-ink-soft);border-radius:0 .375rem .375rem 0}.transit-icon{flex-shrink:0;line-height:1.2}.transit-text{line-height:1.3}.transit-text strong{color:var(--color-ink)}.warning-box{margin-bottom:.75rem;border-left-width:4px;border-color:var(--color-seal);background-color:var(--color-paper-alt);padding:.75rem;font-size:.875rem;line-height:1.25rem;color:var(--color-ink)}.seasonal-tips{margin-bottom:1rem;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem;border-width:1px;border-left-width:4px;border-color:var(--color-line);border-left-color:var(--color-ink-soft);background-color:var(--color-paper);padding:.75rem;font-size:.875rem;line-height:1.25rem;color:var(--color-ink)}.seasonal-tips strong{font-weight:600;color:var(--color-ink)}.seasonal-tips ul{margin-top:.25rem;list-style-type:disc}.seasonal-tips ul>[data-astro-cid-psaj4b6q]:not([hidden])~[data-astro-cid-psaj4b6q]:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.seasonal-tips ul{padding-left:1.25rem}.city-group-header{margin-top:1.5rem;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem;border-bottom-width:2px;border-color:var(--color-line);padding-bottom:.5rem;font-size:1.5rem;line-height:2rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-seal)}.city-group-header .city-group-count{font-size:.875rem;line-height:1.25rem;font-weight:400;text-transform:none;letter-spacing:0em;color:var(--color-ink-mute)}.attraction-checkbox[data-astro-cid-psaj4b6q]{display:flex;cursor:pointer;align-items:flex-start;gap:.75rem;border-radius:.5rem;border-width:1px;border-color:var(--color-line);padding:.75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.attraction-checkbox[data-astro-cid-psaj4b6q]:hover{border-color:var(--color-ink-soft);background-color:var(--color-paper-alt)}.attraction-checkbox[data-astro-cid-psaj4b6q] input[data-astro-cid-psaj4b6q][type=checkbox]{margin-top:.25rem;height:1.25rem;width:1.25rem;flex-shrink:0;cursor:pointer;accent-color:#2563eb}.attraction-checkbox[data-astro-cid-psaj4b6q].is-selected{background-color:var(--color-paper-alt)}.attraction-recommend-badge{display:inline-block;margin-top:.35rem;padding:.1rem .5rem;background:#b92d261f;color:var(--color-seal);font-size:.7rem;font-weight:600;border-radius:9999px;line-height:1.2}#must-visit-warning.is-shown{display:block}#must-visit-warning{background:#b92d2614;color:var(--color-ink);border-left:4px solid var(--color-seal);border-radius:.5rem;padding:.75rem 1rem}#builder-loading{position:fixed;inset:0;background:#00000073;backdrop-filter:blur(2px);z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem}#builder-loading.hidden{display:none}.loading-card{background:var(--color-paper);border-radius:1rem;padding:2rem 1.5rem;max-width:28rem;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d}.loading-spinner{width:3rem;height:3rem;border:4px solid var(--color-line);border-top-color:var(--color-seal);border-radius:9999px;margin:0 auto 1rem;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-title{font-size:1.125rem;font-weight:700;color:var(--color-ink);margin-bottom:1rem}.loading-step-icon{display:inline-block;width:1.25rem;text-align:center}.loading-subtitle{font-size:.85rem;color:var(--color-ink-mute);margin-bottom:1rem;margin-top:-.5rem}.loading-status{font-size:.85rem;color:var(--color-ink);margin-bottom:1.25rem;min-height:1.25rem}.loading-skip{display:inline-block;padding:.4rem 1rem;background:transparent;color:var(--color-ink-mute);border:1px solid var(--color-line);border-radius:9999px;font-size:.8rem;cursor:pointer;transition:color .15s,border-color .15s}.loading-skip:hover{color:var(--color-seal);border-color:var(--color-seal)}.city-card{display:block;width:100%;padding:1rem;border:2px solid var(--color-line);border-radius:.75rem;text-align:left;background:var(--color-paper);cursor:pointer;transition:border-color .15s,background-color .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}.city-card:hover{border-color:var(--color-seal);background:var(--color-paper-alt)}.city-card.is-selected{border-color:var(--color-seal);background:var(--color-paper-alt);box-shadow:0 0 0 3px #b92d2626}.city-card .city-emoji{display:block;font-size:2rem;line-height:1;margin-bottom:.5rem}.city-card .city-name{display:block;font-weight:700;font-size:1rem;line-height:1.25;color:var(--color-ink)}.city-card .city-meta{display:block;font-size:.75rem;color:var(--color-ink-mute);margin-top:.25rem}.step-nav:hover{opacity:.75}.step-nav.shake{animation:stepShake .4s ease-in-out}.city-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .5rem .35rem .4rem;background:var(--color-seal);color:#fff;border-radius:9999px;font-size:.85rem;font-weight:500;line-height:1}.city-chip-num{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;background:#ffffff40;border-radius:9999px;font-size:.7rem;font-weight:700}.city-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;margin-left:.15rem;background:transparent;color:#fff;border:none;border-radius:9999px;font-size:1.1rem;line-height:1;cursor:pointer;padding:0}.city-chip-remove:hover{background:#ffffff40}.city-card.is-disabled{opacity:.4;cursor:not-allowed}.city-card.is-disabled:hover{border-color:var(--color-line);background:var(--color-paper)}@keyframes stepShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.animate-spin{animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media print{header,footer,.site-header,.site-footer,#builder-progress,#builder-app>ol,#builder-app>section,#builder-loading,#email-send-status,#restart-btn,.no-print{display:none!important}html,body{background:#fff!important;color:#1a1408!important}main{padding:0!important;margin:0!important}article.container-narrow{max-width:100%!important;padding:0!important;margin:0!important}#builder-result{display:block!important;padding:0!important;margin:0!important;background:#fff!important}.bg-gradient-to-br,.bg-paper,.bg-paper-alt,.day-card,.slot-block{box-shadow:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.day-card,.slot-block,.rounded-2xl,.rounded-xl,.rounded-lg{box-shadow:none!important}.day-card{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid}#builder-result:before{content:"TravelHubChina.com · Itinerary Builder · " attr(data-generated);display:block;margin:0 0 16px;padding:0 0 8px;border-bottom:1px solid #E8E2D5;font-size:11px;color:#9c8e80;letter-spacing:.05em}a[href]:after{content:""!important}body{font-size:12px}.day-title{font-size:16px!important}.slot-title{font-size:13px!important}.day-header{font-size:10px!important}.city-group-header{font-size:14px!important}}
