.tools-hero{padding:48px 0 36px}.tools-hero h1{max-width:780px;font-size:clamp(2.3rem,4.5vw,3.75rem)}.attraction-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-top:18px;display:grid}.attraction-card{border:1px solid var(--border);background:var(--warm-white);border-radius:8px;flex-direction:column;gap:8px;min-width:0;padding:18px;display:flex}.attraction-card h3{overflow-wrap:anywhere;margin:0;font-size:1.12rem;line-height:1.25}.attraction-name-zh{color:var(--ink-muted);font-family:var(--font-zh);margin-top:3px;font-size:.92rem;line-height:1.4}.attraction-card .card-subtitle{color:var(--ink-muted);text-transform:capitalize;margin-top:9px;font-size:.88rem}.card-badges{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.badge{border-radius:999px;align-items:center;min-height:26px;padding:0 8px;font-size:.78rem;font-weight:700;display:inline-flex}.badge-risk-low{color:var(--pine);background:#2f66541f}.badge-risk-medium{color:#8a6a20;background:#b9893526}.badge-risk-high{color:var(--cinnabar);background:#a33a2f1f}.badge-risk-extreme{background:var(--cinnabar);color:#fff}.badge-booking-yes{color:var(--cinnabar);background:#a33a2f1a}.badge-booking-no{color:var(--pine);background:#2f66541a}.badge-booking-peak{color:#8a6a20;background:#b989351f}.badge-free{color:var(--pine);background:#2f665426}.access-icons{color:var(--ink-muted);flex-wrap:wrap;gap:8px;margin-top:4px;font-size:.8rem;display:flex}.access-icon{align-items:center;gap:3px;display:inline-flex}.access-yes{color:var(--pine)}.access-partial{color:var(--brass)}.access-no{color:var(--cinnabar)}.card-price{border-top:1px solid var(--border-light);color:var(--ink);padding-top:9px;font-weight:700}.card-price span{color:var(--ink-muted);text-transform:uppercase;margin-bottom:2px;font-size:.7rem;font-weight:700;display:block}.card-price-usd{color:var(--pine);margin-top:4px;font-size:.86rem;font-weight:720}.card-planning-grid{border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:2px 0;padding:12px 0;display:grid}.card-planning-grid>div{min-width:0}.card-planning-grid dt{color:var(--ink-muted);text-transform:uppercase;font-size:.68rem;font-weight:750}.card-planning-grid dd{color:var(--ink);overflow-wrap:anywhere;margin:3px 0 0;font-size:.8rem;font-weight:650;line-height:1.4}.currency-note{border-left:3px solid var(--brass);color:var(--ink-muted);background:#b989350f;margin:-2px 0 20px;padding:10px 12px;font-size:.82rem;line-height:1.55}.currency-note a,.budget-disclaimer a{color:var(--mineral);font-weight:700}.card-notes{color:var(--ink-muted);border-top:1px solid var(--border-light);margin-top:auto;padding-top:10px;font-size:.82rem;line-height:1.5}.card-source-row{border-top:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding-top:10px;font-size:.75rem;display:flex}.research-status{font-weight:750}.status-checked{color:var(--pine)}.status-recheck{color:#8a6a20}.official-source-link{color:var(--mineral);font-weight:750}.source-missing{color:var(--ink-muted)}.tool-card{border:1px solid var(--border);background:var(--warm-white);box-shadow:var(--shadow-md);border-radius:8px;margin-top:26px;padding:24px}.budget-form{gap:20px;display:grid}.budget-control label{justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:650;display:flex}.budget-control input[type=range]{width:100%;accent-color:var(--pine)}.budget-label{color:var(--ink-muted);margin-bottom:10px;font-size:.85rem;font-weight:720;display:block}.checkbox-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.checkbox-grid label{color:var(--ink);align-items:center;gap:6px;font-size:.92rem;display:flex}.radio-row{flex-wrap:wrap;gap:12px;display:flex}.radio-row label{color:var(--ink);align-items:center;gap:6px;font-size:.92rem;display:flex}.budget-results{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.budget-total{text-align:center;margin-bottom:20px}.budget-total-usd{color:var(--pine);font-family:Georgia,serif;font-size:2.5rem;font-weight:800}.budget-total-rmb{color:var(--ink-muted);margin-top:4px;font-size:1.1rem}.budget-per-day{color:var(--ink);margin-top:4px;font-size:.95rem;font-weight:600}.budget-breakdown{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px;display:grid}.breakdown-item{border:1px solid var(--border);text-align:center;background:var(--paper-deep);border-radius:6px;padding:12px}.breakdown-item .label{color:var(--ink-muted);text-transform:uppercase;font-size:.78rem;font-weight:700}.breakdown-item .amount{color:var(--ink);margin-top:4px;font-size:1.15rem;font-weight:760}.budget-disclaimer{color:var(--ink-muted);border-left:3px solid var(--brass);background:#b989350f;border-radius:0 6px 6px 0;margin:0;padding:12px;font-size:.82rem}.checklist-form{gap:16px;display:grid}.checklist-form label span{color:var(--ink-muted);margin-bottom:6px;font-size:.85rem;font-weight:720;display:block}.checklist-form input[type=date]{border:1px solid var(--border);background:var(--warm-white);min-height:42px;font:inherit;color:var(--ink);border-radius:8px;padding:0 12px}.checklist-results{margin-top:20px}.muted-text{color:var(--ink-muted);text-align:center;padding:20px}.checklist-group{border:1px solid var(--border);background:var(--paper-deep);border-radius:8px;margin-top:18px;padding:16px}.checklist-group h3{color:var(--pine);margin:0 0 8px;font-size:1rem}.checklist-group .checklist-date{color:var(--ink-muted);font-size:.82rem;font-weight:600}.checklist-group ul{margin:10px 0 0;padding-left:20px}.checklist-group li{color:var(--ink);margin-top:6px}.checklist-group li .city-tag{color:var(--mineral);background:#2e63841a;border-radius:4px;margin-left:4px;padding:1px 6px;font-size:.75rem;font-weight:700;display:inline-block}.no-results{text-align:center;color:var(--ink-muted);border:1px dashed var(--border);border-radius:8px;margin-top:18px;padding:40px}@media (width<=640px){.tools-hero{padding:38px 0 30px}.attraction-grid,.card-planning-grid{grid-template-columns:1fr}.budget-total-usd{font-size:2rem}}
