/* Shared HugiLink type scale. Keep live UI readable; preview artwork may stay compact. */
:root {
  --toolkit-font-family: Pretendard, "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --toolkit-text-display: clamp(2.25rem, 4vw, 2.625rem);
  --toolkit-text-h1: 2rem;
  --toolkit-text-h2: 1.5rem;
  --toolkit-text-h3: 1.125rem;
  --toolkit-text-body-lg: 1rem;
  --toolkit-text-body: .875rem;
  --toolkit-text-body-sm: .8125rem;
  --toolkit-text-label: .75rem;
  --toolkit-text-caption: .6875rem;
}

body {
  font-family: var(--toolkit-font-family);
  font-size: var(--toolkit-text-body);
  line-height: 1.6;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

.toolkit-nav-link { font-size: var(--toolkit-text-body); }

/* Threads Hub live UI */
.threads-live-type,
.phase-note p,
.intro-strip p,
.source-type p,
.source-guide span,
.product-empty p,
.source-empty,
.content-card p,
.content-card .linked-product,
.card-actions button,
.source-recipe p,
.saved-source p,
.saved-source a,
.analytics-toolbar p,
.analytics-loading,
.winner-card p,
.performance-empty p,
.composer-step-guide > span small,
.composer-step-guide > span strong,
.input-block-head p,
.image-markup-hint,
.field > small,
.pick-product small,
.disclosure-box p,
.ai-generation-head p,
.ai-key-details > p,
.ai-service-note,
.ai-generation-status,
.coupang-api-header p,
.coupang-api-note,
.coupang-status,
.coupang-finder-result-copy p,
.coupang-result-copy p {
  font-size: var(--toolkit-text-body-sm) !important;
}

.phase-note b,
.source-type button,
.source-type em,
.source-category-filter button,
.source-recipe > span,
.source-recipe button,
.saved-source > div:first-child > span,
.analytics-actions button,
.range-switch button,
.metric-card small,
.metric-card em,
.pattern-row > span:last-child,
.performance-table th,
.performance-table button,
.post-cell em,
.composer-step-guide > span > b,
.input-step,
.ai-key-details summary,
.ai-key-row .button,
.coupang-api-badge,
.coupang-api-form label > span,
.coupang-finder-toolbar label > span,
.coupang-result-actions button,
.coupang-result-actions a {
  font-size: var(--toolkit-text-label) !important;
}

.content-meta .status,
.content-meta time,
.source-recipe h3,
.saved-source h3,
.analytics-toolbar b,
.metric-card b,
.performance-table td,
.field > span,
.input-block-head b,
.ai-generation-head b,
.coupang-finder-header p,
.coupang-finder-result-copy h4,
.coupang-result-copy h3 {
  font-size: var(--toolkit-text-body) !important;
}

.field input,
.field textarea,
.field select,
.ai-key-row input,
.coupang-api-form input,
.coupang-finder-toolbar input,
.coupang-finder-toolbar select {
  font-size: var(--toolkit-text-body) !important;
}

.coupang-api-header h2,
.source-type > b,
.performance-empty b {
  font-size: var(--toolkit-text-h3) !important;
}

/* Keyword Finder live UI */
.keyword-head p,
.keyword-hero-copy p,
.keyword-form-hint,
.keyword-form-error,
.keyword-status-card,
.keyword-result-head p,
.keyword-result-date,
.keyword-notice-grid p,
.keyword-recommendation,
.keyword-source-card p,
.keyword-next-card p,
.keyword-context-card p {
  font-size: var(--toolkit-text-body-sm) !important;
}

.keyword-user,
.keyword-signal-list span,
.keyword-search-card label,
.keyword-input-row input,
.keyword-input-row .button,
.keyword-score,
.keyword-intent,
.keyword-stat small,
.keyword-stat b,
.keyword-candidate-card .button,
.keyword-source-type,
.keyword-source-actions a,
.keyword-source-actions button,
.keyword-next-card b,
.keyword-context-card h2 {
  font-size: var(--toolkit-text-label) !important;
}

.keyword-result-head h2,
.keyword-candidate-top h3,
.keyword-source-card h3 {
  font-size: var(--toolkit-text-h3) !important;
}

@media (max-width: 780px) {
  .toolkit-nav-link { font-size: var(--toolkit-text-label); }
}
