.travel-tool-page {
  --child-accent: #66858c;
  --child-accent-dark: #46666e;
  --child-accent-soft: #e8f1f2;
  --child-warm: #c89469;
  background: radial-gradient(circle at 75% 7%, rgba(181, 211, 215, .25), transparent 28%), linear-gradient(135deg, #fffdf8 0%, #eef4f3 52%, #eaf1f2 100%);
}

.travel-tool-page.is-travel-cleanup {
  --child-accent: #6f8b83;
  --child-accent-dark: #4f6b63;
  --child-accent-soft: #e9f2ef;
  --child-warm: #d09a78;
  background: radial-gradient(circle at 76% 7%, rgba(230, 192, 190, .25), transparent 29%), linear-gradient(135deg, #fffdf8 0%, #f8eeee 100%);
}

.travel-tool-page.is-travel-blockbuster {
  --child-accent: #617c91;
  --child-accent-dark: #405d73;
  --child-accent-soft: #e8f0f5;
  --child-warm: #c68e79;
  background: radial-gradient(circle at 75% 7%, rgba(209, 195, 183, .25), transparent 29%), linear-gradient(135deg, #fffdf8 0%, #f3efec 100%);
}

.travel-tool-page.is-travel-style {
  --child-accent: #8b765e;
  --child-accent-dark: #685440;
  --child-accent-soft: #f3ede5;
  --child-warm: #d09b73;
  background: radial-gradient(circle at 75% 7%, rgba(207, 190, 214, .25), transparent 29%), linear-gradient(135deg, #fffdf8 0%, #f2edf4 100%);
}

.travel-tool-settings-card { padding-top: 23px; }
.travel-upload-section h2 { margin-bottom: 10px; }
.travel-input-mode { margin: 0 0 12px; }
.travel-input-mode .portrait-chip { min-height: 34px; font-size: 11px; }
.travel-upload-block { padding: 11px; border: 1px solid #e6ddd2; border-radius: 14px; background: rgba(255,255,255,.58); }
.travel-upload-block + .travel-upload-block { margin-top: 11px; }
.travel-upload-label { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 9px; }
.travel-upload-label strong { color: #59534d; font-size: 12px; }
.travel-upload-label small { color: #968d84; font-size: 10px; }
.travel-photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); min-height: 90px; gap: 8px; }
.travel-photo-grid .portrait-photo-card,
.travel-photo-grid .portrait-photo-add { min-height: 88px; aspect-ratio: 4 / 3; }
.travel-upload-summary { grid-template-columns: 145px minmax(0, 1fr); gap: 11px; margin-top: 9px; }
.travel-upload-summary .change-photo-button { width: 145px; height: 39px; font-size: 12px; }
.travel-upload-summary strong { font-size: 11px; }
.travel-upload-summary small { font-size: 9px; }

.travel-tool-page .travel-upload-block { padding: 0; border: 0; background: transparent; }
.travel-tool-page .travel-upload-label { display: none; }
.travel-tool-page .travel-photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); min-height: 116px; }
.travel-tool-page .travel-photo-grid .portrait-photo-card,
.travel-tool-page .travel-photo-grid .portrait-photo-add { min-height: 0; aspect-ratio: 4 / 5; }

.travel-template-grid .child-template-icon { color: var(--child-accent-dark); background: var(--child-accent-soft); }
.travel-ratio-hint { display: block; color: #968d84; font-size: 10px; line-height: 1.35; }
.travel-tool-page .portrait-design-grid > label { align-content: start; }
.travel-tool-page .portrait-design-grid > label[hidden] { display: none; }
.is-travel-cleanup .portrait-design-grid > label:has(#travelComposition) { grid-column: 1 / -1; }
.travel-director-note { color: var(--child-accent-dark); border-color: color-mix(in srgb, var(--child-accent) 28%, #e2d9cf); background: linear-gradient(120deg, #fffdf8, var(--child-accent-soft)); }
.travel-result-stage { background: radial-gradient(circle at 50% 42%, rgba(235, 209, 190, .39), transparent 31%), linear-gradient(135deg, #f0ebe2, color-mix(in srgb, var(--child-accent-soft) 78%, #d8ddd9)); }
.travel-next-step { border-color: color-mix(in srgb, var(--child-accent) 23%, #ded6ca); background: linear-gradient(90deg, var(--child-accent-soft), #fbf8f1); }

@media (max-width: 560px) {
  .travel-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .travel-upload-summary { grid-template-columns: 1fr; }
}

/* 旅行相册：各功能主题色（选中态与勾选标记由 child-tools.css 的 .theme-tool-picker 自动跟随） */
.theme-tool-tab[data-tool-nav="refine"] { --theme-tab-accent: #a16207; }
.theme-tool-tab[data-tool-nav="cleanup"] { --theme-tab-accent: #2e7d68; }
.theme-tool-tab[data-tool-nav="blockbuster"] { --theme-tab-accent: #3b5b7d; }
.theme-tool-tab[data-tool-nav="style"] { --theme-tab-accent: #7c5aa2; }
.theme-tool-tab:not(.is-active)[data-tool-nav="refine"] svg,
.theme-tool-tab:not(.is-active)[data-tool-nav="cleanup"] svg,
.theme-tool-tab:not(.is-active)[data-tool-nav="blockbuster"] svg,
.theme-tool-tab:not(.is-active)[data-tool-nav="style"] svg { color: var(--theme-tab-accent); }
