/* ============================================================
   7Unique — Typography Configuration

   修改方式：只编辑下方 :root 中的变量值，保存并刷新页面即可预览。
   - family：字体家族
   - size：字号
   - weight：字重
   - line：行高
   - tracking：字距
   颜色、间距与布局仍在 style.css 中管理。
   ============================================================ */

:root {
  /* Font families */
  --type-family-sans: 'Century Gothic', 'Hiragino Sans GB', sans-serif;
  --type-family-serif: 'Test Tiempos Text', 'Songti SC', serif;
  --type-family-resume-serif: 'Source Serif Pro', serif;
  --type-family-resume-sans: 'Schibsted Grotesk', sans-serif;

  /* Global */
  --type-body-family: var(--font-stack);
  --type-body-size: 13px;
  --type-body-line: 1.65;

  /* Navigation */
  --type-nav-back-size: 15px;
  --type-nav-back-line: 1;
  --type-nav-brand-family: var(--font-heading);
  --type-nav-brand-weight: 400;
  --type-nav-brand-line: 1;
  --type-nav-brand-primary-size: 20px;
  --type-nav-brand-primary-line: 1.1;
  --type-nav-brand-secondary-size: 12px;
  --type-nav-brand-secondary-line: 1.2;
  --type-nav-menu-family: var(--type-family-resume-sans);
  --type-nav-menu-size: 17px;
  --type-nav-menu-weight: 400;
  --type-nav-menu-active-weight: 700;
  --type-nav-menu-tracking: -0.01em;

  /* Home hero */
  --type-hero-title-family: var(--font-heading);
  --type-hero-title-size: 48px;
  --type-hero-title-weight: 400;
  --type-hero-title-line: 48px;
  --type-hero-typed-family: var(--font-stack);
  --type-hero-typed-size: 12px;
  --type-hero-typed-weight: 500;
  --type-hero-typed-tracking: 6px;

  /* Moment */
  --type-album-serif: var(--type-family-serif);
  --type-album-sans: var(--type-family-sans);
  --type-album-card-title-size: 15px;
  --type-album-card-title-weight: 500;
  --type-album-card-title-line: 1.4;
  --type-album-card-title-tracking: 0.04em;
  --type-album-card-count-size: 10px;
  --type-album-card-count-line: 1.3;
  --type-album-card-count-tracking: 0.12em;
  --type-album-caption-size: 14px;
  --type-album-caption-line: 1.3;
  --type-album-caption-tracking: -0.01em;
  --type-album-series-title-size: 15px;
  --type-album-series-title-weight: 400;
  --type-album-series-title-line: 1.4;
  --type-album-series-title-tracking: -0.03em;
  --type-album-gallery-label-size: 14px;
  --type-album-gallery-label-line: 1.3;
  --type-album-gallery-label-tracking: -0.01em;
  --type-album-statement-size: 13px;
  --type-album-statement-line: 1.65;
  --type-album-statement-title-size: 15px;
  --type-album-statement-title-weight: 400;
  --type-album-statement-title-line: 1.4;
  --type-album-statement-title-tracking: -0.03em;

  /* Continuity */
  --type-continuity-detail-title-size: 30px;
  --type-continuity-detail-title-line: 1.1;
  --type-continuity-detail-description-size: 14px;
  --type-continuity-detail-description-line: 1.32;
  --type-continuity-detail-fact-size: 12px;
  --type-continuity-detail-fact-line: 1.4;
  --type-continuity-materials-heading-size: 10px;
  --type-continuity-placeholder-size: 10px;
  --type-continuity-placeholder-note-size: 9px;

  /* About */
  --type-about-name-family: var(--font-heading);
  --type-about-name-size: 28px;
  --type-about-name-weight: 600;
  --type-about-name-tracking: -0.03em;
  --type-about-text-size: 13px;
  --type-about-text-line: 1.65;
  --type-about-text-weight: 300;
  --type-about-contact-size: 15px;
  --type-about-social-size: 14px;
  --type-about-social-tracking: -0.03em;

  /* Monologue */
  --type-prose-heading-family: var(--font-stack);
  --type-prose-heading-size: 20px;
  --type-prose-heading-weight: 400;
  --type-prose-heading-tracking: 0.04em;
  --type-prose-list-title-family: var(--font-heading);
  --type-prose-list-title-size: 24px;
  --type-prose-list-title-weight: 500;
  --type-prose-list-title-tracking: -0.03em;
  --type-prose-list-date-size: 13px;
  --type-prose-article-title-family: var(--font-stack);
  --type-prose-article-title-size: 32px;
  --type-prose-article-title-weight: 600;
  --type-prose-article-title-line: 1.3;
  --type-prose-article-title-tracking: -0.03em;
  --type-prose-article-date-size: 14px;
  --type-prose-article-date-tracking: -0.03em;
  --type-prose-body-family: var(--font-heading);
  --type-prose-body-size: 15px;
  --type-prose-body-line: 1.65;
  --type-prose-body-weight: 300;
  --type-prose-markdown-heading-family: var(--font-stack);
  --type-prose-markdown-heading-weight: 600;
  --type-prose-markdown-list-line: 1.65;
  --type-prose-markdown-quote-line: 1.65;
  --type-prose-markdown-code-size: 13px;

  /* Home long-scroll sections */
  --type-home-section-title-family: var(--font-heading);
  --type-home-section-title-size: clamp(36px, 5vw, 56px);
  --type-home-section-title-weight: 400;
  --type-home-section-subtitle-family: var(--font-heading);
  --type-home-section-subtitle-size: 18px;
  --type-home-gallery-title-size: 14px;
  --type-home-gallery-title-tracking: 3px;
  --type-home-entry-category-family: var(--font-stack);
  --type-home-entry-category-size: 12px;
  --type-home-entry-category-tracking: 3px;
  --type-home-entry-theme-family: var(--font-heading);
  --type-home-entry-theme-size: 30px;
  --type-home-entry-theme-line: 1.2;
  --type-home-entry-button-family: var(--font-stack);
  --type-home-entry-button-size: 12px;
  --type-home-entry-button-tracking: 2px;
  --type-home-quote-family: var(--font-heading);
  --type-home-quote-size: clamp(24px, 3.5vw, 36px);
  --type-home-quote-line: 1.4;
  --type-home-author-size: 13px;
  --type-home-author-tracking: 3px;

  /* Resume */
  --type-resume-name-family: var(--type-family-resume-serif);
  --type-resume-name-size: var(--type-resume-heading-size);
  --type-resume-name-weight: 600;
  --type-resume-name-line: 0.95;
  --type-resume-name-tracking: 0;
  --type-resume-fact-family: var(--font-stack);
  --type-resume-fact-size: var(--type-resume-body-size);
  --type-resume-fact-weight: 400;
  --type-resume-fact-line: 1.35;
  --type-resume-fact-tracking: 0;
  --type-resume-heading-family: var(--type-family-resume-sans);
  --type-resume-heading-size: clamp(14px, calc(1.75vw - 2px), 25px);
  --type-resume-heading-weight: 400;
  --type-resume-heading-line: 1.08;
  --type-resume-heading-tracking: 0;
  --type-resume-body-family: var(--font-stack);
  --type-resume-body-size: 13px;
  --type-resume-body-weight: 400;
  --type-resume-body-line: 1.48;
  --type-resume-body-tracking: 0;
  --type-resume-body-strong-weight: 700;
}

/* Global */
body { font-family: var(--type-body-family); font-size: var(--type-body-size); line-height: var(--type-body-line); }

/* Navigation */
.detail-nav-back { font-size: var(--type-nav-back-size); line-height: var(--type-nav-back-line); }
.nav-title { line-height: var(--type-nav-brand-line); }
.nav-title-line1 { font-family: var(--type-nav-brand-family); font-weight: var(--type-nav-brand-weight); font-size: var(--type-nav-brand-primary-size); line-height: var(--type-nav-brand-primary-line); }
.nav-title-line2 { font-family: var(--type-nav-brand-family); font-weight: var(--type-nav-brand-weight); font-size: var(--type-nav-brand-secondary-size); line-height: var(--type-nav-brand-secondary-line); }
.nav-menu-item { font-family: var(--type-nav-menu-family); font-weight: var(--type-nav-menu-weight); font-size: var(--type-nav-menu-size); letter-spacing: var(--type-nav-menu-tracking); }
.nav-menu-item.active { font-weight: var(--type-nav-menu-active-weight); }

/* Home hero */
.hero-title { font-family: var(--type-hero-title-family); font-weight: var(--type-hero-title-weight); font-size: var(--type-hero-title-size); line-height: var(--type-hero-title-line); }
.hero-typed { font-family: var(--type-hero-typed-family); font-size: var(--type-hero-typed-size); font-weight: var(--type-hero-typed-weight); letter-spacing: var(--type-hero-typed-tracking); }

/* Moment */
#page-albums, #page-journey, .album-detail { --album-font-serif: var(--type-album-serif); --album-font-sans: var(--type-album-sans); }
.album-title { font-size: var(--type-album-card-title-size); font-weight: var(--type-album-card-title-weight); line-height: var(--type-album-card-title-line); letter-spacing: var(--type-album-card-title-tracking); }
.album-count { font-size: var(--type-album-card-count-size); line-height: var(--type-album-card-count-line); letter-spacing: var(--type-album-card-count-tracking); }
.continuity-project-title { font-size: var(--type-album-card-title-size); font-weight: var(--type-album-card-title-weight); line-height: var(--type-album-card-title-line); letter-spacing: var(--type-album-card-title-tracking); }
.continuity-project-english,
.continuity-project-meta { font-size: var(--type-album-card-count-size); line-height: var(--type-album-card-count-line); letter-spacing: var(--type-album-card-count-tracking); }
.album-feature-caption { font-size: var(--type-album-caption-size); line-height: var(--type-album-caption-line); letter-spacing: var(--type-album-caption-tracking); }
.album-series-heading h1 { font-size: var(--type-album-series-title-size); font-weight: var(--type-album-series-title-weight); line-height: var(--type-album-series-title-line); letter-spacing: var(--type-album-series-title-tracking); }
.album-gallery-item span { font-size: var(--type-album-gallery-label-size); line-height: var(--type-album-gallery-label-line); letter-spacing: var(--type-album-gallery-label-tracking); }
.album-statement { font-size: var(--type-album-statement-size); line-height: var(--type-album-statement-line); }
.album-statement-heading h2 { font-size: var(--type-album-statement-title-size); font-weight: var(--type-album-statement-title-weight); line-height: var(--type-album-statement-title-line); letter-spacing: var(--type-album-statement-title-tracking); }

/* Continuity detail */
.continuity-materials-heading { font-size: var(--type-continuity-materials-heading-size); }
.continuity-detail-index h1 { font-size: var(--type-continuity-detail-title-size); line-height: var(--type-continuity-detail-title-line); }
.continuity-detail-description { font-size: var(--type-continuity-detail-description-size); line-height: var(--type-continuity-detail-description-line); }
.continuity-detail-facts dt,
.continuity-detail-facts dd { font-size: var(--type-continuity-detail-fact-size); line-height: var(--type-continuity-detail-fact-line); }
.continuity-flow-placeholder { font-size: var(--type-continuity-placeholder-size); }
.continuity-flow-placeholder small { font-size: var(--type-continuity-placeholder-note-size); }

/* About */
.about-name { font-family: var(--type-about-name-family); font-size: var(--type-about-name-size); font-weight: var(--type-about-name-weight); letter-spacing: var(--type-about-name-tracking); }
.about-text { font-size: var(--type-about-text-size); line-height: var(--type-about-text-line); font-weight: var(--type-about-text-weight); }
.about-contact { font-size: var(--type-about-contact-size); }
.about-social a { font-size: var(--type-about-social-size); letter-spacing: var(--type-about-social-tracking); }

/* Monologue */
.prose-heading { font-family: var(--type-prose-heading-family); font-size: var(--type-prose-heading-size); font-weight: var(--type-prose-heading-weight); letter-spacing: var(--type-prose-heading-tracking); }
.prose-list-item-title { font-family: var(--type-prose-list-title-family); font-size: var(--type-prose-list-title-size); font-weight: var(--type-prose-list-title-weight); letter-spacing: var(--type-prose-list-title-tracking); }
.prose-list-item-date { font-size: var(--type-prose-list-date-size); }
.prose-article-title { font-family: var(--type-prose-article-title-family); font-size: var(--type-prose-article-title-size); font-weight: var(--type-prose-article-title-weight); line-height: var(--type-prose-article-title-line); letter-spacing: var(--type-prose-article-title-tracking); }
.prose-article-date { font-size: var(--type-prose-article-date-size); letter-spacing: var(--type-prose-article-date-tracking); }
.prose-article-paragraph { font-family: var(--type-prose-body-family); font-size: var(--type-prose-body-size); line-height: var(--type-prose-body-line); font-weight: var(--type-prose-body-weight); }
.prose-markdown-heading, .prose-detail-body > h2, .prose-detail-body > h3, .prose-detail-body > h4, .rehearsal-readme h2, .rehearsal-readme h3, .rehearsal-readme h4 { font-family: var(--type-prose-markdown-heading-family); font-weight: var(--type-prose-markdown-heading-weight); }
.prose-markdown-list { line-height: var(--type-prose-markdown-list-line); }
.prose-markdown-quote { line-height: var(--type-prose-markdown-quote-line); }
.prose-markdown-code { font-size: var(--type-prose-markdown-code-size); }

/* Home long-scroll sections */
#home .section-header h2 { font-family: var(--type-home-section-title-family); font-size: var(--type-home-section-title-size); font-weight: var(--type-home-section-title-weight); }
#home .section-header p { font-family: var(--type-home-section-subtitle-family); font-size: var(--type-home-section-subtitle-size); }
#home .gallery-title { font-size: var(--type-home-gallery-title-size); letter-spacing: var(--type-home-gallery-title-tracking); }
#home .entry-cat { font-family: var(--type-home-entry-category-family); font-size: var(--type-home-entry-category-size); letter-spacing: var(--type-home-entry-category-tracking); }
#home .entry-theme { font-family: var(--type-home-entry-theme-family); font-size: var(--type-home-entry-theme-size); line-height: var(--type-home-entry-theme-line); }
#home .entry-btn { font-family: var(--type-home-entry-button-family); font-size: var(--type-home-entry-button-size); letter-spacing: var(--type-home-entry-button-tracking); }
#home .testimonial-quote { font-family: var(--type-home-quote-family); font-size: var(--type-home-quote-size); line-height: var(--type-home-quote-line); }
#home .testimonial-author { font-size: var(--type-home-author-size); letter-spacing: var(--type-home-author-tracking); }

/* Resume */
#home .resume-name { font-family: var(--type-resume-name-family); font-size: var(--type-resume-name-size); font-weight: var(--type-resume-name-weight); line-height: var(--type-resume-name-line); letter-spacing: var(--type-resume-name-tracking); }
#home .resume-fact { font-family: var(--type-resume-fact-family); font-size: var(--type-resume-fact-size); font-weight: var(--type-resume-fact-weight); line-height: var(--type-resume-fact-line); letter-spacing: var(--type-resume-fact-tracking); }
#home .resume-question-no { font-family: var(--type-family-mono); font-size: 12px; font-weight: 700; line-height: 1.2; letter-spacing: 0; }
#home .resume-question h3 { font-family: var(--type-resume-name-family); font-size: var(--type-resume-heading-size); font-weight: var(--type-resume-heading-weight); line-height: var(--type-resume-heading-line); letter-spacing: var(--type-resume-heading-tracking); }
#home .resume-question p { font-family: var(--type-resume-body-family); font-size: var(--type-resume-body-size); font-weight: var(--type-resume-body-weight); line-height: var(--type-resume-body-line); letter-spacing: var(--type-resume-body-tracking); }

/* Responsive typography */
@media (max-width: 768px) {
  :root {
    --type-album-caption-size: 14px;
    --type-prose-article-title-size: 26px;
    --type-resume-heading-size: 13px;
    --type-resume-body-size: 11px;
  }
}

@media (max-width: 480px) {
  :root {
    --type-continuity-detail-title-size: 32px;
    --type-continuity-detail-description-size: 20px;
    --type-prose-article-title-size: 22px;
  }
}
