/* PROJECT30 Typography P1 — 40~60대 모바일 가독성 (display only, P0 위에 cascade) */

:root {
  --p1-primary: #fafbfc;
  --p1-secondary: #e8edf4;
  --p1-hint: #d4dce8;
  --p1-body: 14px;
  --p1-caption: 13px;
  --p1-meta: 12px;
  --p1-lh: 1.55;
  --p1-lh-tight: 1.35;
  --p1-card-pad: 12px;
  --p1-gap: 10px;
}

/* ── 1. AI 퍼널 (시장 스캔 → 정밀 분석 → 최종 후보 → AI GO) ── */
.ap2-funnel-hero {
  padding: 14px 12px !important;
  margin-bottom: 14px !important;
}

.ap2-funnel-title {
  font-size: clamp(1.0625rem, 4.4vw, 1.1875rem) !important;
  font-weight: 1000 !important;
  color: var(--p1-primary) !important;
  line-height: var(--p1-lh-tight) !important;
  margin-bottom: 6px !important;
}

.ap2-funnel-sub {
  font-size: var(--p1-caption) !important;
  font-weight: 800 !important;
  color: #7ee8f7 !important;
  line-height: var(--p1-lh) !important;
  margin-bottom: 10px !important;
}

.ap2-funnel-step {
  padding: 10px 6px !important;
  min-width: 72px !important;
}

.ap2-funnel-val {
  font-size: clamp(1.1875rem, 4.8vw, 1.3125rem) !important;
  font-weight: 1000 !important;
  color: var(--p1-primary) !important;
  line-height: 1.25 !important;
}

.ap2-funnel-step.is-gold .ap2-funnel-val {
  color: #ffe566 !important;
}

.ap2-funnel-lbl {
  font-size: var(--p1-caption) !important;
  font-weight: 900 !important;
  color: var(--p1-secondary) !important;
  line-height: var(--p1-lh-tight) !important;
  margin-top: 6px !important;
}

.ap2-funnel-arrow {
  font-size: 12px !important;
  color: var(--p1-hint) !important;
  padding-top: 10px !important;
}

/* ── 2. WHY 카드 (예상수익 · 거래량 · 수급 · 뉴스 · 모멘텀) ── */
.ap2-reason-head {
  font-size: clamp(1rem, 4vw, 1.125rem) !important;
  font-weight: 1000 !important;
  color: #fde68a !important;
  line-height: var(--p1-lh-tight) !important;
  margin-bottom: 10px !important;
}

.ap2-reason-grid,
.ap3-reason-grid {
  gap: var(--p1-gap) !important;
  margin-bottom: 14px !important;
}

.ap2-reason-card {
  padding: var(--p1-card-pad) !important;
  border-radius: 15px !important;
}

.ap2-reason-ico {
  font-size: 18px !important;
  margin-bottom: 6px !important;
}

.ap2-reason-title {
  font-size: clamp(0.9375rem, 3.8vw, 1.0625rem) !important;
  font-weight: 1000 !important;
  color: var(--p1-primary) !important;
  line-height: var(--p1-lh-tight) !important;
}

.ap2-reason-sub {
  font-size: var(--p1-caption) !important;
  font-weight: 800 !important;
  color: var(--p1-secondary) !important;
  line-height: var(--p1-lh) !important;
  margin-top: 5px !important;
}

.ap2-metric-lbl {
  font-size: var(--p1-caption) !important;
  font-weight: 900 !important;
  color: var(--p1-secondary) !important;
  margin-bottom: 8px !important;
}

/* ── 3. 설명 문구 (13~14px, 확실히 읽히게) ── */
.ap3-er-hint,
.ap3-stop-advisory,
.ap3-tip-text p,
.ap3-gold-usage-tip .ap3-tip-text p,
.ap3-gold-status,
.alpha-risk-empty,
.agp-disc,
.alpha-trust-rationale,
.alpha-trust-note,
.alpha-fi-mb-line,
.alpha-fi-news-sub,
.ap2-gold-philosophy p {
  font-size: var(--p1-body) !important;
  font-weight: 700 !important;
  color: var(--p1-hint) !important;
  line-height: var(--p1-lh) !important;
}

.ap3-er-hint {
  margin-bottom: 12px !important;
}

.ap3-stop-advisory {
  font-size: var(--p1-caption) !important;
  font-weight: 900 !important;
  color: var(--p1-secondary) !important;
  padding: 5px 12px !important;
  margin-bottom: 8px !important;
}

.ap3-gold-status {
  color: var(--p1-secondary) !important;
}

.ap3-gold-usage-tip {
  padding: 12px 14px !important;
  gap: 12px !important;
  margin: 14px 0 !important;
}

.ap3-tip-text p + p {
  margin-top: 6px !important;
}

/* ── 4. 메타 정보 (업종 · 주요사업 · Risk · 갱신시간) ── */
.ap2-company-facts {
  font-size: var(--p1-meta) !important;
  font-weight: 800 !important;
  color: var(--p1-hint) !important;
  line-height: var(--p1-lh) !important;
  gap: 5px !important;
  margin-top: 10px !important;
}

.ap2-company-facts b {
  color: var(--p1-secondary) !important;
  font-weight: 900 !important;
}

.ap2-tags span {
  font-size: var(--p1-meta) !important;
  font-weight: 800 !important;
  color: var(--p1-secondary) !important;
  padding: 5px 10px !important;
}

.ap3-price-lbl,
.agp-code,
.alpha-risk-updated,
.alpha-risk-item-meta,
.alpha-risk-score-sub,
.alpha-risk-danger-lbl,
.alpha-trust-time,
.alpha-trust-chip,
.alpha-trust-cell .lbl {
  font-size: var(--p1-meta) !important;
  font-weight: 800 !important;
  color: var(--p1-hint) !important;
  line-height: var(--p1-lh) !important;
}

.alpha-trust-cell .val {
  font-size: clamp(1rem, 4vw, 1.0625rem) !important;
  color: var(--p1-primary) !important;
}

.alpha-trust-rationale,
.alpha-trust-note {
  color: var(--p1-hint) !important;
}

/* ── 5. 여백 · 줄간격 ── */
.ap2-hero-metrics,
.ap3-hero-metrics {
  gap: var(--p1-gap) !important;
  margin: 14px 0 !important;
}

.ap2-metric {
  padding: 14px 12px !important;
}

.alpha-risk-reasons li,
.alpha-risk-item-reason {
  line-height: var(--p1-lh) !important;
  margin-bottom: 3px !important;
}

.alpha-risk-panel,
.ap2-reason-card,
.ap2-metric {
  line-height: var(--p1-lh);
}

.ap2-funnel {
  gap: 4px !important;
  padding-bottom: 4px !important;
}

/* ── 6. 색상 단순화 — 회색 남용 억제, 3단계 중심 ── */
.alpha-v7-simple-first,
.ap2-official-announcement {
  color: var(--p1-secondary);
}

.ap2-chart-fold summary,
.ap2-gold-deep summary,
.ap2-brief-fold summary,
.ap2-trust-fold summary,
.ap2-below-fold summary,
.ap3-official-more summary {
  font-size: var(--p1-caption) !important;
  color: var(--p1-hint) !important;
}

/* STOP 축소 카드 — P0 보정 위에 실효 가독성 한 단계 추가 */
.ap3-stop-wrap .alpha-risk-subtitle,
.ap3-stop-wrap .alpha-risk-updated,
.ap3-stop-wrap .alpha-risk-score-sub,
.ap3-stop-wrap .alpha-risk-item-judge,
.ap3-stop-wrap .alpha-risk-reasons li {
  font-size: var(--p1-meta) !important;
  color: var(--p1-hint) !important;
  line-height: var(--p1-lh) !important;
}

@media (max-width: 480px) {
  :root {
    --p1-body: 14px;
    --p1-caption: 13px;
    --p1-meta: 12px;
  }

  .ap2-funnel-step {
    min-width: 68px !important;
  }

  .ap2-reason-grid,
  .ap3-reason-grid {
    gap: 8px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .app * {
    transition: none !important;
  }
}
