/* PROJECT30 UX Typography P0 — global mobile readability (display only) */

:root {
  --typo-primary: #f8fafc;
  --typo-secondary: #e2e8f0;
  --typo-hint: #cbd5e1;
  --typo-disabled: #94a3b8;
  --typo-min: 12px;
  --typo-meta: 11px;
  --typo-lh: 1.5;
}

.app {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* ── LEVEL 1: 종목명 · GO/STOP · 가격 · 점수 ── */
.ap3-gold-name,
.ap2-hero-top .agp-name,
.agp-name {
  font-size: clamp(1.75rem, 8.2vw, 2.25rem) !important;
  font-weight: 1000 !important;
  color: var(--typo-primary) !important;
  line-height: 1.12 !important;
}

.agp-price {
  font-size: clamp(1.75rem, 7.8vw, 2.125rem) !important;
  font-weight: 1000 !important;
  color: var(--typo-primary) !important;
}

.ap3-gold-brand,
.ap2-gold-brand {
  font-size: clamp(1.35rem, 5.8vw, 1.5rem) !important;
  font-weight: 1000 !important;
}

.ap2-metric-val {
  font-size: clamp(1.35rem, 5.8vw, 1.625rem) !important;
  font-weight: 1000 !important;
}

.ap2-metric-val.gold {
  font-size: clamp(1.125rem, 4.8vw, 1.25rem) !important;
}

.alpha-risk-item-name,
.alpha-risk-soft-name {
  font-size: clamp(1rem, 4.2vw, 1.125rem) !important;
  font-weight: 1000 !important;
  color: var(--typo-primary) !important;
}

.alpha-risk-danger-val {
  font-size: 1rem !important;
  font-weight: 1000 !important;
}

.alpha-risk-title {
  font-size: clamp(1rem, 4vw, 1.125rem) !important;
  font-weight: 1000 !important;
}

/* STOP 70% scale 보정 — 실효 가독성 확보 */
.ap3-stop-wrap .alpha-risk-title {
  font-size: clamp(0.95rem, 3.6vw, 1.05rem) !important;
}
.ap3-stop-wrap .alpha-risk-item-name,
.ap3-stop-wrap .alpha-risk-soft-name {
  font-size: 1rem !important;
}
.ap3-stop-wrap .alpha-risk-reasons li {
  font-size: var(--typo-meta) !important;
}
.ap3-stop-wrap .alpha-risk-subtitle {
  font-size: var(--typo-meta) !important;
}
.ap3-stop-wrap .alpha-risk-updated,
.ap3-stop-wrap .alpha-risk-score-sub,
.ap3-stop-wrap .alpha-risk-item-judge {
  font-size: 10px !important;
}

/* ── LEVEL 2: 카드 제목 ── */
.ap3-gold-time,
.ap2-official-time,
.ap2-funnel-title,
.ap2-reason-head,
.alpha-fi-mb-title,
.alpha-trust-title,
.alpha-fi-reasons-title,
.ap2-official-analysis,
.terminal-title,
.news-title {
  font-size: clamp(0.9375rem, 3.8vw, 1.0625rem) !important;
  font-weight: 1000 !important;
  color: var(--typo-primary) !important;
  line-height: 1.35 !important;
}

.ap3-gold-date,
.ap2-official-date {
  font-size: clamp(0.875rem, 3.4vw, 1rem) !important;
  font-weight: 900 !important;
  color: var(--typo-secondary) !important;
}

.alpha-risk-subtitle {
  font-size: var(--typo-min) !important;
  font-weight: 800 !important;
  color: var(--typo-secondary) !important;
}

/* ── LEVEL 3: 라벨 · WHY · 퍼널 ── */
.ap2-metric-lbl,
.ap2-reason-title,
.ap2-funnel-lbl,
.ap2-funnel-val,
.alpha-trust-cell .lbl,
.alpha-fi-mb-chip .lbl,
.market-chip-lbl {
  font-size: var(--typo-min) !important;
  font-weight: 900 !important;
  color: var(--typo-secondary) !important;
  line-height: 1.35 !important;
}

.ap2-reason-sub,
.ap2-funnel-sub {
  font-size: var(--typo-min) !important;
  font-weight: 800 !important;
  color: var(--typo-hint) !important;
  line-height: 1.4 !important;
}

.ap2-funnel-val {
  font-size: clamp(1rem, 3.6vw, 1.0625rem) !important;
  color: var(--typo-primary) !important;
}

.ap2-reason-title {
  color: var(--typo-primary) !important;
}

.alpha-risk-reasons li,
.alpha-risk-item-reason {
  font-size: var(--typo-min) !important;
  font-weight: 700 !important;
  color: var(--typo-secondary) !important;
  line-height: 1.45 !important;
}

.alpha-risk-item-judge {
  font-size: var(--typo-meta) !important;
  color: var(--typo-hint) !important;
}

/* ── LEVEL 4: 설명 · 안내 ── */
.ap3-er-hint,
.ap3-tip-text p,
.ap3-gold-usage-tip .ap3-tip-text p,
.ap3-stop-advisory,
.agp-disc,
.alpha-trust-rationale,
.alpha-trust-note,
.alpha-fi-mb-line,
.alpha-fi-news-sub,
.ap2-gold-philosophy p {
  font-size: var(--typo-min) !important;
  font-weight: 700 !important;
  color: var(--typo-hint) !important;
  line-height: var(--typo-lh) !important;
}

.ap3-gold-status,
.alpha-risk-empty {
  font-size: var(--typo-min) !important;
  font-weight: 800 !important;
  color: var(--typo-secondary) !important;
  line-height: var(--typo-lh) !important;
}

/* ── LEVEL 5: 보조(업종·코드·시간) ── */
.agp-code,
.ap3-price-lbl,
.ap2-company-facts,
.ap2-tags span,
.alpha-risk-updated,
.alpha-risk-item-meta,
.alpha-risk-score-sub,
.alpha-risk-danger-lbl,
.alpha-trust-time,
.alpha-trust-cell .val {
  font-size: var(--typo-meta) !important;
  font-weight: 800 !important;
  color: var(--typo-disabled) !important;
  line-height: 1.4 !important;
}

.ap2-company-facts b,
.alpha-trust-cell .val {
  color: var(--typo-hint) !important;
}

.agp-chg {
  font-size: 0.9375rem !important;
  font-weight: 900 !important;
}

/* 접이식 summary — 너무 작은 회색 제거 */
.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(--typo-min) !important;
  font-weight: 900 !important;
  color: var(--typo-hint) !important;
}

/* 전역: 9px 이하 억제 (GO/STOP·GOLD 영역) */
.alpha-v7-simple-first,
.ap2-official-announcement,
.alpha-risk-panel {
  font-size: var(--typo-min);
}

.alpha-v7-simple-first [style*="font-size:9px"],
.alpha-v7-simple-first [style*="font-size:10px"] {
  font-size: var(--typo-meta) !important;
}

@media (max-width: 480px) {
  :root {
    --typo-min: 12px;
    --typo-meta: 11px;
  }
  .ap3-gold-name,
  .ap2-hero-top .agp-name {
    font-size: clamp(1.625rem, 7.5vw, 2rem) !important;
  }
}

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