/* GLY1 Field Manual v9 — readability pass
   Keeps the Last Z visual language while replacing condensed typography
   with a wider, calmer system-font stack and more breathing room. */

:root {
  --reading-size: 17px;
  --reading-leading: 1.66;
}

html {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-family: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  font-size: var(--reading-size);
  line-height: var(--reading-leading);
  letter-spacing: 0;
}

/* The previous visual edition used Arial Narrow for much of the interface.
   Use an open display face instead and keep the game character through weight,
   contrast and colour rather than compression. */
h1,
h2,
h3,
h4,
.brand strong,
.gate-card h1,
.nav-button,
.button,
.status-chip,
.eyebrow {
  font-family: "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  font-stretch: normal;
}

h1,
h2,
h3,
h4 {
  letter-spacing: 0;
  text-wrap: balance;
}

h1 {
  line-height: 1.14;
  font-weight: 780;
}

h2 {
  line-height: 1.2;
  font-weight: 760;
}

h3,
h4 {
  line-height: 1.28;
  font-weight: 720;
}

p,
li,
dd,
.assessment-summary,
.assessment-panel small,
.assessment-strengths li,
.clean-milestone-text,
.game-visual-caption small,
.system-card p,
.support-card p,
.move-card p,
.tool-result p,
.mechanic-card p,
.mechanic-card summary small {
  line-height: 1.68;
}

small,
.quiet-copy,
.fine-print {
  line-height: 1.52;
}

/* Keep small tactical labels, but make them less compressed. */
.eyebrow {
  letter-spacing: .095em;
  line-height: 1.42;
  font-weight: 760;
}

.status-chip,
.confidence-badge,
.benchmark-status,
.optimization-rank small,
.benchmark-values small,
.today-clock span,
.resource-dock-label span,
.clean-stat-card > span,
.knowledge-meta-list small,
.move-card .move-label,
.system-card .system-stage {
  letter-spacing: .045em;
  line-height: 1.4;
}

.brand span {
  line-height: 1.15;
}

.brand strong {
  letter-spacing: .025em;
  font-weight: 760;
}

.brand small {
  letter-spacing: .065em;
  line-height: 1.3;
}

/* Controls read more naturally in title case. */
.button,
.nav-button {
  letter-spacing: 0;
  font-weight: 720;
  text-transform: none;
  line-height: 1.24;
}

.button {
  padding-left: 1.08rem;
  padding-right: 1.08rem;
}

.text-button {
  line-height: 1.42;
}

/* Main chapter titles no longer shout in condensed all-caps. */
.setup-copy h1,
.clean-stage-copy h1 {
  text-transform: none;
}

.gate-card h1 {
  letter-spacing: .01em;
  line-height: 1.12;
}

.clean-stage-copy p,
.clean-assessment > p,
.assessment-summary,
.section-title-row p,
.clean-coach p {
  max-width: 72ch;
}

.clean-stage-copy h1 {
  max-width: 18ch;
}

.game-visual-caption strong {
  line-height: 1.26;
}

input,
select,
textarea {
  line-height: 1.42;
}

@media (max-width: 760px) {
  :root {
    --reading-size: 16.5px;
    --reading-leading: 1.65;
  }

  h1 { line-height: 1.15; }
  h2 { line-height: 1.22; }
  h3, h4 { line-height: 1.3; }

  .eyebrow {
    letter-spacing: .075em;
    font-size: .72rem;
  }

  .button,
  .nav-button {
    font-size: .9rem;
  }

  .clean-stage-copy h1 {
    max-width: none;
  }
}
