:root { --display: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif; }
html[lang="en"] body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
html[lang="en"] h1, html[lang="en"] h2 { font-family: var(--display); letter-spacing: -.025em; text-wrap: balance; }
html[lang="en"] p { overflow-wrap: break-word; }
.hero h1 { font-size: clamp(2.8rem, 4.35vw, 4.35rem); line-height: 1.16; }
.hero-lead { line-height: 1.75; letter-spacing: 0; }
.hero .hero-world { line-height: 1.8; letter-spacing: 0; }
.hero .beta-note { max-width: 38ch; margin: 18px 0 0; color: #b4c6d8; font-size: .75rem; line-height: 1.7; }
.beta-note span { display: block; color: #7de4d0; font-size: .7rem; letter-spacing: .09em; text-transform: uppercase; }
.tutorial-copy h2, .voyage h2, .collection h2, .orbit h2, .download h2 { line-height: 1.18; font-size: clamp(2.15rem, 3.7vw, 3.75rem); }
.section-lead, .ai-explanation { line-height: 1.85; letter-spacing: 0; }
.learning-pace { color: var(--muted, #a8b8cc); font-size: .85rem; line-height: 1.8; margin: 20px 0; }
.tutorial-copy .lesson-panel { margin-top: 28px; }
.tutorial-copy .lesson-panel h3 { font-size: 1.25rem; margin-bottom: 10px; }
.tutorial-copy .lesson-panel p { font-size: .9rem; line-height: 1.85; }
.learning-companion h3 { letter-spacing: 0; }
.learning-companion p { font-size: .8rem; line-height: 1.6; }
.lesson-tabs, .segmented { gap: 4px; }
.tabs button { font-size: .78rem; padding-inline: 10px; }
.tab-panel h3, .yakuman-note h3, .rank-growth h3, .encounter h3 { letter-spacing: -.015em; }
.rank-route { flex-wrap: wrap; }
.rank-route li { white-space: nowrap; font-size: .85rem; }
.site-header nav { gap: 20px; }
.site-header nav a { font-size: .8rem; min-width: 44px; justify-content: center; }
.language-link { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.download-note { max-width: 56ch; margin-inline: auto; }
.screen-dialog figure img { height: auto; object-fit: contain; }
.primary-card .phone img { aspect-ratio: 804 / 1748; object-fit: contain; background: #060b18; }
html[lang="en"] .ai-page-hero h1 { font-size: clamp(2.5rem, 4.5vw, 4.6rem); line-height: 1.17; }
html[lang="en"] .ai-chapter h2, html[lang="en"] .overview-heading h2, html[lang="en"] .ai-principles h2, html[lang="en"] .ai-page-end h2 { line-height: 1.2; }
html[lang="en"] .overview-flow strong { font-size: .9rem; }
html[lang="en"] .overview-flow strong, html[lang="en"] .overview-facts span, html[lang="en"] .ai-principles strong { font-family: inherit; }
html[lang="en"] .chapter-facts div { grid-template-columns: minmax(70px, .35fr) 1fr; }
html[lang="en"] .legal-intro h1 { font-family: var(--display); line-height: 1.15; }
html[lang="en"] .legal-card p { line-height: 1.85; }
.legal-nav { flex-wrap: wrap; }
.legal-intro time { display: block; }
.legal-contact-address { display: block; margin-top: 12px; }
html[lang="en"] .ai-site-brand, html[lang="en"] footer > a, html[lang="en"] .skip-link { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; }
@media (max-width: 760px) {
  .hero h1 { font-size: clamp(2.25rem, 8.6vw, 3.6rem); }
  .hero h1 span { white-space: nowrap; }
  .hero .hero-world { margin-top: 22px; }
  .hero .beta-note { max-width: 42ch; }
  .tutorial-copy h2, .voyage h2, .collection h2, .orbit h2, .download h2 { font-size: clamp(2rem, 7.9vw, 3rem); }
  .site-header nav { gap: 4px; }
  .site-header nav .language-link { display: inline-flex; }
  .rank-growth p br { display: none; }
  html[lang="en"] .ai-page-hero h1 { font-size: clamp(2.2rem, 8vw, 3.3rem); }
  html[lang="en"] .legal-intro h1 { font-size: clamp(2rem, 8vw, 3rem); }
}
