/* Color-study preview: loaded after all theme styles; no layout or content behavior changes. */
:root{--pine:#282724;--p:#282724;--lime:#9e3c2f;--l:#9e3c2f;--paper:#f8f6f2;--bg:#f8f6f2;--ink:#282724;--muted:#68625b;--line:#ddd7cf;--surface:#fffefd;--accent:#9e3c2f;--accent-hover:#802f25;--tint:#f1e5de;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
body{background:var(--bg);color:var(--ink)}
a{color:inherit}.ph-content a,.ph-title a,.ph-crumbs a,.ph-toc a,.ph-contact-privacy a{color:var(--accent);text-decoration-color:#cfa79e;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--accent)!important;outline-offset:3px}.skip-link,.ph-skip:focus{background:var(--tint);color:var(--ink)}

/* Site chrome and primary actions. */
.site-header,.ph-header{background:rgba(255,254,253,.96);border-color:var(--line);box-shadow:none}.brand,.ph-brand,.site-header nav a,.ph-header nav a,.ph-menu{color:var(--ink)}
.site-header nav a:hover,.site-header nav a[aria-current=page],.ph-header nav a:hover,.ph-header nav a[aria-current=page]{background:var(--tint);color:var(--accent)}
.saved-trigger,.ph-saved,.search-line button,.ph-filters button,.ph-contact-form button,.ph-404 button,.map-error button,.map-popup button{background:var(--accent);border-color:var(--accent);color:#fff}.saved-trigger:hover,.ph-saved:hover,.search-line button:hover,.ph-filters button:hover,.ph-contact-form button:hover,.ph-404 button:hover,.map-error button:hover,.map-popup button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.saved-trigger span,.ph-saved span{background:var(--tint);color:var(--accent)}
.site-footer,.ph-footer{background:#292b29;color:#fff}.site-footer .brand,.ph-footer .ph-brand{color:#fff}.site-footer p,.ph-footer-top>div>p,.ph-footer-bottom{color:#d7d1ca}.site-footer a:hover,.ph-footer a:hover{color:#f2c1b8}

/* Homepage: keep imagery natural while removing green fills, gradients, and neon counts. */
.intro{background:var(--tint);color:var(--ink);border-radius:12px}.intro h1,.intro .intro-title h1,.intro .eyebrow,.intro-tools>p,.intro-tools label,.intro .intro-stats b,.intro-stats span,.intro-stats p{color:var(--ink)}
.intro-stats,.intro-stats p{border-color:#d8c5bc}.search-line{background:var(--surface);border-color:var(--line)}.search-line input{background:var(--surface);color:var(--ink)}.surprise-button{color:var(--accent)}
.explorer,.home-card,.home-topic-grid a,.topic-link-grid a,.home-tabs button,.home-practical-list a,.ph-card,.ph-topic-grid a,.ph-destination-list a,.ph-contact-form,dialog{background:var(--surface);border-color:var(--line);box-shadow:none}
.home-topic-grid a:hover,.topic-link-grid a:hover,.home-tabs button:hover,.ph-topic-grid a:hover{background:#fbf1ed;border-color:#cfa79e;box-shadow:none;transform:none}.home-tabs button[aria-selected=true],.theme-tabs button[aria-pressed=true],.city-chip.is-active{background:var(--accent);border-color:var(--accent);color:#fff}
.home-card-copy small,.home-destination-card small,.place-eyebrow,.article-copy small,.latest-card small,.saved-card small,.topic-link-grid span,.ph-topic-grid small{color:#8a554b}.home-card-copy h3,.home-card-copy h3 a,.home-content h2,.section-title h2,.ph-card h3,.ph-topic-grid h2,.ph-title h1,.ph-single h1,.ph-page h1,.ph-404 h1,h1,h2,h3{color:var(--ink)}
.home-card-copy p,.home-topic-grid small,.topic-link-grid small,.ph-card p,.ph-topic-grid p,.ph-destination-list small,.ph-title>p:last-child{color:var(--muted)}
.home-save,.ph-save,.save-article,#saved-dialog header button,#clear-saved,.dialog-head button,.saved-card button{background:var(--surface);border-color:var(--line);color:var(--accent)}.home-save[aria-pressed=true],.ph-save[aria-pressed=true],.save-article[aria-pressed=true]{background:var(--tint);border-color:#cfa79e}
.home-card-placeholder,.ph-card-image,.ph-card img.is-fallback,.image-fallback,.is-missing{background:#eee7df;color:var(--muted)}

/* Map interface only; tiles and the basemap keep their original colors. */
#map-hint,#reset-map,.map-coverage,.pin-label,.cluster-label,.poi-name,.map-popup,.cluster-popup,.leaflet-popup-content-wrapper{background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important;box-shadow:0 2px 10px rgba(40,39,36,.12)!important}
#reset-map,.cluster-zoom{color:var(--accent)}.pin-dot,.cluster-dot,.city-map-pin .pin-dot{background:var(--accent)!important;box-shadow:0 1px 5px rgba(158,60,47,.32)}.city-map-pin.is-selected .pin-label,.map-cluster.is-selected .cluster-dot{background:var(--tint)!important;color:var(--accent)!important;border-color:#cfa79e!important}.city-map-pin.food .pin-dot{background:#b66337!important}.cluster-members button:hover,.cluster-members button:focus-visible{background:#fbf1ed}

/* Collections, reading pages, forms, and dialogs. */
.ph-filters,.pagination a,.pagination span,.destination-select select,.ph-contact-form input,.ph-contact-form textarea,.ph-404 input{background:var(--surface);border-color:var(--line);color:var(--ink)}.pagination .current,.pagination a:hover{background:var(--tint);border-color:#cfa79e;color:var(--accent)}
.ph-toc,.ph-content .ph-article-toc,.ph-content nav.ph-article-toc{background:var(--surface);border-color:var(--line);box-shadow:none}.ph-toc a:hover,.ph-toc a:focus-visible{color:var(--accent)}.ph-progress{background:var(--accent)}
.ph-content blockquote{border-left-color:var(--accent);background:#fbf1ed;color:var(--ink)}.ph-content table,.ph-content th,.ph-content td{border-color:var(--line)}.ph-content th{background:#f3eee8}.ph-content tr:nth-child(even){background:#fcfaf7}.ph-feedback-notice{background:#fbf1ed;border-color:#d4a096;color:var(--ink)}.ph-feedback-notice.is-success{background:#f4eee6;border-color:#c7b7a8}
.ph-media-unavailable,.ph-empty,.map-noscript{background:#f4eee6;border-color:#d1c6ba;color:var(--muted)}

/* Gentle, consistent corners and neutral shadows. */
.explorer,.home-card,.home-topic-grid a,.topic-link-grid a,.home-tabs button,.home-practical-list a,.ph-card,.ph-topic-grid a,.ph-contact-form,.ph-toc,.map-panel-frame,.map-error,dialog{border-radius:10px}.home-destination-card,.home-destination-card:after{border-radius:10px}.home-destination-card:after,.idea-card:after{background:linear-gradient(0deg,rgba(40,39,36,.72),rgba(40,39,36,.08))}
@media(max-width:680px){.explorer{border-radius:0}.intro{border-radius:10px}.ph-header nav{background:var(--surface);border-color:var(--line)}}

/* Final tonal corrections for dark imagery, metadata, and the compact topic grid. */
:root{--tint:#f0ece5}.home-destination-card small{color:rgba(255,255,255,.9)}
.home-practical-list span{background:var(--tint);color:var(--accent)}
.eyebrow,.ph-crumbs,.ph-single header p,.ph-single header time,.ph-page header p,.ph-title p,.ph-content figcaption{color:var(--muted)}
.intro .eyebrow{color:var(--accent)}.intro .intro-stats b{color:var(--accent)}
.ph-header .ph-saved{background:var(--ink);color:#fff}.ph-header .ph-saved:hover{background:#151513}.ph-header .ph-saved span{background:var(--tint);color:var(--accent)}
.home-topic-grid{gap:1px;padding:1px;background:var(--line);border-radius:6px}.home-topic-grid a{border:0;border-radius:5px;background:var(--surface)}
.home-topic-grid a:hover{background:#f7f2ec;border-color:transparent}
.map-coverage{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--muted)!important}
.map-popup,.cluster-popup,.leaflet-popup-content-wrapper{box-shadow:none!important}

/* Contact and comment controls retain readable neutral text outside the primary action. */
.ph-contact-form label,.ph-contact-privacy{color:var(--muted)}
.ph-comments,.ph-comments p,.ph-comments label,.comment-respond,.comment-form{color:var(--ink)}
.ph-comments input:not([type=submit]),.ph-comments textarea,.comment-form input:not([type=submit]),.comment-form textarea{background:var(--surface);border-color:var(--line);color:var(--ink)}
.ph-comments input::placeholder,.ph-comments textarea::placeholder,.comment-form input::placeholder,.comment-form textarea::placeholder{color:#8a8177;opacity:1}
.ph-comments input[type=submit],.ph-comments .submit,.comment-form input[type=submit],.comment-form .submit{background:var(--accent);border-color:var(--accent);color:#fff}.ph-comments input[type=submit]:hover,.ph-comments .submit:hover,.comment-form input[type=submit]:hover,.comment-form .submit:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.ph-content,.ph-single .ph-content .ph-article,.ph-single .ph-content .taiyue-article-style{color:var(--ink)}
.ph-single .ph-content .ph-article figcaption,.ph-single .ph-content .ph-article .widget-image-caption,.ph-single .ph-content .taiyue-article-style figcaption,.ph-single .ph-content .taiyue-article-style .widget-image-caption{color:var(--muted)}
@media(max-width:800px){.ph-header nav.open{background:var(--surface);border-color:var(--line);box-shadow:none}}

/* Preserve hierarchy inside map clusters and shared-line topic cells. */
.cluster-members button{background:var(--surface);border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink);box-shadow:none}.cluster-members button:hover,.cluster-members button:focus-visible{background:var(--tint);color:var(--accent)}.cluster-zoom{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important}.cluster-zoom:hover{background:var(--accent-hover)!important;border-color:var(--accent-hover)!important}
.home-topic-grid{overflow:hidden}.home-topic-grid a{border-radius:0}
.theme-tabs button,.city-chip{color:var(--ink)}

/* Match the reading stylesheet's specific selectors on secondary pages. */
.ph-title>p:first-child,.ph-filters label{color:var(--muted)}
.ph-single .ph-content .taiyue-article-style h6{color:var(--ink)}
.ph-single .ph-content nav.ph-article-toc,.ph-single .ph-content nav.taiyue-toc{background:var(--surface)}
.ph-footer-bottom{border-color:#52524c}.ph-footer-top nav a:hover{color:#f2c1b8}
.ph-map-link{background:var(--tint);color:var(--accent)}
.home-card-image{background:#eee7df}.poi-map-pin{background:var(--accent);box-shadow:0 1px 7px #28272450}
.ph-comments input::placeholder,.ph-comments textarea::placeholder,.comment-form input::placeholder,.comment-form textarea::placeholder{color:var(--muted)}
.ph-card{background:transparent;border-radius:0}
.ph-collection .ph-card-image:empty::after{color:var(--muted)!important}
dialog::backdrop{background:rgba(40,39,36,.44)}
#saved-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:16px}
