/* ==========================================================================
   CORNER — screens.css — mise en page propre à chaque écran.
   ========================================================================== */

/* ---------- home ---------- */
.hero-eyebrow{ font-family: var(--font-mono); font-size: 11px; color: var(--muted); text-transform: capitalize; margin-bottom: 2px; }
.hero-title{ font-family: var(--font-display); font-weight: 440; font-size: 32px; line-height: 1.1; letter-spacing: -0.01em; margin: 0 0 4px; }
.hero-sub{ color: var(--faint); font-size: 14.5px; max-width: 32ch; font-style: italic; }

.metrics-row{ display: flex; background: var(--surface); border-radius: var(--r-lg); padding: var(--sp-5) 4px; }
.metric{ flex: 1; text-align: center; padding: 0 6px; }
.metric + .metric{ border-left: 1px solid var(--line); }
.metric-fig{ font-family: var(--font-display); font-weight: 440; font-size: 27px; line-height: 1; font-variant-numeric: oldstyle-nums; }
.metric-fig.sage{ color: var(--sage); }
.metric-fig.ember{ color: var(--ember); }
.metric-label{ font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); margin-top: 8px; }

.focus-list{ list-style: none; margin: 0; padding: 0; }
.focus-item{ display: flex; align-items: center; gap: var(--sp-4); padding: 15px 0; border-top: 1px solid var(--line); cursor: pointer; min-height: 44px; }
.focus-list li:first-child{ border-top: none; }
.focus-item.done .focus-title{ color: var(--faint); text-decoration: line-through; text-decoration-color: var(--line); }
.focus-num{ font-family: var(--font-display); font-size: 19px; color: var(--faint); width: 26px; flex-shrink: 0; font-variant-numeric: oldstyle-nums; }
.focus-body{ flex: 1; min-width: 0; }
.focus-title{ font-size: 14.5px; font-weight: 500; }
.focus-meta{ font-size: 11.5px; color: var(--muted); margin-top: 2px; }
.focus-tag{ font-family: var(--font-mono); font-size: 11px; color: var(--muted); flex-shrink: 0; }

.goal-primary{ padding-bottom: 2px; cursor: pointer; }
.goal-primary .eyebrow{ color: var(--ember); }
.goal-primary-title{ font-family: var(--font-display); font-size: 24px; margin: 6px 0 10px; letter-spacing: -0.005em; }
.goal-primary-fig{ font-family: var(--font-display); font-weight: 440; font-size: 34px; margin-bottom: 10px; font-variant-numeric: oldstyle-nums; }
.goal-primary-fig span{ color: var(--muted); font-size: 15px; font-family: var(--font-mono); }
.goal-next{ color: var(--muted); font-size: 13px; margin-top: 12px; }
.goal-next b{ color: var(--paper-dim); font-weight: 600; }
.goal-late{ color: var(--ember); font-size: 12.5px; margin-top: 8px; }

.goal-row{ margin-bottom: var(--sp-5); padding-bottom: var(--sp-5); border-bottom: 1px solid var(--line); cursor: pointer; }
.goal-row:last-child{ margin-bottom: 0; padding-bottom: 0; border-bottom: none; }
.goal-head{ display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 9px; gap: 10px; }
.goal-head .eyebrow{ color: var(--paper-dim); font-size: 12.5px; letter-spacing: .02em; text-transform: none; font-weight: 600; display: flex; align-items: center; gap: 6px; }
.dim-tag{ font-family: var(--font-label); font-size: 9.5px; text-transform: uppercase; letter-spacing: .07em; color: var(--muted); background: var(--surface-2); padding: 2px 7px; border-radius: var(--r-pill); font-weight: 600; }
.goal-head b{ font-family: var(--font-mono); font-size: 12px; color: var(--muted); font-weight: 400; flex-shrink: 0; }
.goal-fig{ font-family: var(--font-display); font-weight: 440; font-size: 24px; margin-bottom: 9px; font-variant-numeric: oldstyle-nums; }
.goal-fig span{ color: var(--muted); font-size: 13px; font-family: var(--font-mono); }
.goal-done-tag{ font-size: 12px; color: var(--sage); margin-top: 8px; }
.primary-star{ color: var(--ember); }
.primary-star svg{ width: 13px; height: 13px; }

.insight{ font-size: 14px; color: var(--paper-dim); font-style: italic; line-height: 1.5; }
.corner-line{ color: var(--muted); font-size: 13px; }

/* ---------- goal detail ---------- */
.detail-head{ display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.detail-head .icon-btn{ padding: 4px; margin-left: -8px; }

/* ---------- keystat (un seul grand chiffre, pas une grille de boîtes) ---------- */
.keystat{ margin-bottom: var(--sp-5); }
.keystat-fig{ font-family: var(--font-display); font-weight: 440; font-size: 48px; line-height: 1; font-variant-numeric: oldstyle-nums; }
.keystat-fig span{ color: var(--muted); font-size: 19px; font-family: var(--font-mono); }
.keystat-meta{ display: flex; justify-content: space-between; font-size: 12px; color: var(--muted); margin-top: var(--sp-3); }

/* ---------- onboarding ---------- */
.onboarding-overlay{
  position: fixed; inset: 0; background: var(--ink); z-index: 100;
  display: flex; flex-direction: column; padding: calc(28px + var(--safe-t)) 26px calc(28px + var(--safe-b));
  max-width: 520px; margin: 0 auto;
}
.ob-step{ flex: 1; display: none; flex-direction: column; justify-content: center; gap: var(--sp-5); }
.ob-step.active{ display: flex; }
.ob-eyebrow{ font-family: var(--font-label); font-weight: 600; font-size: 11px; letter-spacing: .16em; color: var(--ember); text-transform: uppercase; }
.ob-title{ font-family: var(--font-display); font-weight: 440; font-size: 32px; line-height: 1.12; letter-spacing: -0.01em; }
.ob-scene{ display: flex; justify-content: center; padding: var(--sp-4) 0; }
.ob-scene svg{ width: 120px; height: 130px; }
.ob-foot{ display: flex; justify-content: space-between; align-items: center; padding-top: var(--sp-4); }
.ob-dots{ display: flex; gap: 7px; }
.ob-dots span{ width: 5px; height: 5px; border-radius: 50%; background: var(--surface-2); }
.ob-dots span.active{ background: var(--ember); }
.ob-next{ background: none; border: none; color: var(--paper); font-family: var(--font-display); font-size: 17px; cursor: pointer; min-height: 44px; padding: 0 6px; }
.ob-back{ background: none; border: none; color: var(--faint); cursor: pointer; font-size: 13px; min-height: 44px; }

/* ---------- weekly review ---------- */
.review-card{ background: var(--surface); border-radius: var(--r-lg); padding: var(--sp-5); }
.review-stats{ display: flex; gap: var(--sp-5); margin-bottom: var(--sp-4); }
.review-stat-fig{ font-family: var(--font-display); font-size: 26px; font-variant-numeric: oldstyle-nums; }
.review-stat-label{ font-size: 10.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .06em; margin-top: 3px; }
.review-text{ font-size: 13.5px; color: var(--paper-dim); line-height: 1.5; }
.review-text + .review-text{ margin-top: 8px; }

/* ---------- progression (bilan narratif) ---------- */
.review-text-block{ margin-top: var(--sp-5); }
.review-text-block:first-child{ margin-top: 0; }
.review-text-block .eyebrow{ display: block; margin-bottom: 8px; }
.review-text-block .review-text{ margin-top: 6px; }
.review-text-block .review-text:first-of-type{ margin-top: 6px; }

@media (max-width: 360px){
  .hero-title{ font-size: 28px; }
  .goal-primary-fig{ font-size: 28px; }
}
