/* Outcomes + tutoring sections added 2026-10-17 (from 상원's draft).
   Hand-written; archive.css is generated by scripts/scope-archive-css.mjs, so keep these rules here.
   No animation. Uses the archive's --ga-* tokens. */
.gsd-archive .outcome-stats { display: grid; gap: 1px; margin: 40px 0 0; background: var(--ga-line); border: 1px solid var(--ga-line); border-radius: var(--ga-radius); overflow: hidden; }
.gsd-archive .outcome-stats > div { background: var(--ga-surface); padding: 20px 22px; }
.gsd-archive .outcome-stats dt { font-size: 0.85em; color: var(--ga-ink-2); }
.gsd-archive .outcome-stats dd { margin: 6px 0 0; font-size: 1.15em; font-weight: 700; color: var(--ga-ink); }
.gsd-archive .outcome-stats .num { font-size: 2.1em; letter-spacing: -0.02em; margin-right: 2px; }
.gsd-archive .outcome-stats p { margin: 6px 0 0; font-size: 0.8em; color: var(--ga-ink-2); }
.gsd-archive .outcome-subhead { margin: 64px 0 20px; font-size: 1.25em; font-weight: 700; color: var(--ga-ink); }
.gsd-archive .ba-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.gsd-archive .ba-card { border: 1px solid var(--ga-line); border-radius: var(--ga-radius); background: var(--ga-surface); padding: 22px; }
.gsd-archive .ba-who { margin: 0; font-size: 0.85em; color: var(--ga-ink-2); }
.gsd-archive .ba-area { margin: 4px 0 16px; font-weight: 700; color: var(--ga-ink); }
.gsd-archive .ba-pair { display: grid; gap: 12px; }
.gsd-archive .ba-before, .gsd-archive .ba-after { border-radius: var(--ga-radius); padding: 14px 16px; }
.gsd-archive .ba-before { background: var(--ga-bg); }
.gsd-archive .ba-after { background: var(--ga-accent-bg); }
.gsd-archive .ba-head { margin: 8px 0 4px; font-size: 1.2em; font-weight: 800; color: var(--ga-ink); }
.gsd-archive .ba-after .ba-head { color: var(--ga-accent-hover); }
.gsd-archive .ba-pair p:last-child { margin: 0; font-size: 0.92em; line-height: 1.6; color: var(--ga-ink); }
.gsd-archive .role-grid { display: grid; gap: 16px; }
.gsd-archive .role-col { border-top: 2px solid var(--ga-ink); padding-top: 12px; }
.gsd-archive .role-name { margin: 0 0 8px; font-weight: 700; color: var(--ga-ink); }
.gsd-archive .role-col ul { margin: 0; padding-left: 1.1em; color: var(--ga-ink); font-size: 0.95em; line-height: 1.8; }
.gsd-archive .principles { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; counter-reset: p; }
.gsd-archive .principles li { counter-increment: p; border-left: 3px solid var(--ga-accent); padding: 2px 0 2px 16px; }
.gsd-archive .principles .p-title { margin: 0 0 4px; font-weight: 700; color: var(--ga-ink); }
.gsd-archive .principles .p-title::before { content: counter(p) ". "; color: var(--ga-accent); }
.gsd-archive .principles li p:last-child { margin: 0; color: var(--ga-ink-2); font-size: 0.95em; line-height: 1.6; }
.gsd-archive .tutoring-box { border: 1px solid var(--ga-line-strong); border-radius: var(--ga-radius); background: var(--ga-surface); padding: 28px 22px; }
.gsd-archive .tutoring-points { margin: 24px 0 28px; padding-left: 1.1em; display: grid; gap: 10px; line-height: 1.65; color: var(--ga-ink); }
.gsd-archive .status-note a { color: var(--ga-accent); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 640px) {
  .gsd-archive .outcome-stats { grid-template-columns: repeat(3, 1fr); }
  .gsd-archive .ba-pair { grid-template-columns: 1fr 1fr; }
  .gsd-archive .role-grid { grid-template-columns: repeat(2, 1fr); }
  .gsd-archive .principles { grid-template-columns: repeat(2, 1fr); }
  .gsd-archive .tutoring-box { padding: 40px; }
}
@media (min-width: 1024px) {
  .gsd-archive .ba-list { grid-template-columns: repeat(3, 1fr); }
  .gsd-archive .ba-pair { grid-template-columns: 1fr; }
  .gsd-archive .role-grid { grid-template-columns: repeat(4, 1fr); }
}
