:root {
  color-scheme: light;
  /* PrizmaRun lime identity — shared with assets/css/app.css */
  --lime-500: #84cc16; --lime-400: #a3e635; --lime-600: #65a30d; --lime-700: #4d7c0f; --on-lime: #1a2e05;
  --bg: #f4f7f2; --surface: #fff; --surface-muted: #ecf3e2;
  --text: #12211a; --text-muted: #506158; --border: #cbd7ce;
  /* --primary is a fill colour; text on it uses --primary-text. --primary-strong / --link are text colours (AA on --bg/--surface). */
  --primary: var(--lime-500); --primary-strong: var(--lime-700); --primary-text: var(--on-lime); --link: var(--lime-700);
  --accent-soft: rgb(132 204 22 / 18%); --accent-soft-2: rgb(16 185 129 / 12%);
  --focus: var(--lime-700); --success: #17623f; --error: #a42b2b;
  --shadow: 0 16px 40px rgb(25 48 36 / 10%);
  --radius-sm: .75rem; --radius-lg: 1.25rem;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; min-height: 100vh;
  background:
    radial-gradient(56rem 32rem at 10% -10%, var(--accent-soft), transparent),
    radial-gradient(56rem 32rem at 90% 110%, var(--accent-soft-2), transparent),
    var(--bg);
  background-attachment: fixed;
  color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.5;
}
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.skip-link { position: fixed; z-index: 10; top: .75rem; left: .75rem; padding: .75rem 1rem; border-radius: var(--radius-sm); background: var(--text); color: var(--bg); transform: translateY(-180%); }
.skip-link:focus { transform: translateY(0); }
.site-header, .site-footer, .page-shell { width: min(72rem, calc(100% - 2rem)); margin-inline: auto; }
.site-header { display: flex; align-items: center; justify-content: space-between; min-height: 5rem; padding-top: env(safe-area-inset-top); }
.brand, .coach-link { text-decoration: none; }
.brand { display: inline-flex; align-items: center; gap: .75rem; font-size: 1.15rem; font-weight: 800; letter-spacing: -.02em; }
.brand-mark { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 50%; background: var(--primary); color: var(--primary-text); font-size: .75rem; letter-spacing: .08em; }
.header-actions { display: flex; align-items: center; gap: .5rem; }
.coach-link { display: inline-flex; align-items: center; min-height: 3rem; padding: .75rem; font-weight: 700; text-decoration: underline; text-decoration-color: var(--primary); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.secondary-button { min-width: 3rem; min-height: 3rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--text); font: inherit; font-weight: 800; cursor: pointer; }
.site-footer a { color: var(--link); text-decoration-color: var(--primary); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.page-shell { padding-block: clamp(2.5rem, 7vw, 6rem); }
.hero { max-width: 48rem; }
.eyebrow { margin: 0 0 .65rem; color: var(--primary-strong); font-size: .78rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
h1, h2, p { text-wrap: pretty; }
h1 { max-width: 14ch; margin: 0; font-size: clamp(2.3rem, 7vw, 5rem); line-height: .98; letter-spacing: -.055em; }
h2 { margin: 0; font-size: clamp(1.35rem, 3vw, 2rem); line-height: 1.15; }
.hero-copy { max-width: 42rem; margin: 1.5rem 0 0; color: var(--text-muted); font-size: clamp(1rem, 2vw, 1.25rem); }
.primary-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: clamp(2.5rem, 6vw, 4.5rem); }
.action-card { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: start; min-height: 12.5rem; padding: 1.35rem; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow); text-decoration: none; transition: transform 160ms ease, border-color 160ms ease; }
.action-card:hover { transform: translateY(-3px); border-color: var(--primary); }
.action-card--primary { background: linear-gradient(135deg, var(--lime-400), var(--lime-500)); color: var(--primary-text); border-color: transparent; }
.primary-actions--two { grid-template-columns: 2fr 1fr; }
.resume-card { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; justify-content: space-between; margin-top: clamp(2rem, 5vw, 3rem); padding: clamp(1.1rem, 3vw, 1.5rem); border: 2px solid var(--primary); border-radius: var(--radius-lg); background: var(--surface); box-shadow: var(--shadow); }
.resume-card[hidden] { display: none; }
.resume-card + .primary-actions { margin-top: 1rem; }
.resume-card p { margin: .35rem 0 0; color: var(--text-muted); }
.resume-card .resume-sync { color: var(--text); font-weight: 750; }
.primary-button { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: .75rem 1.25rem; border-radius: var(--radius-sm); background: var(--primary); color: var(--primary-text); font-weight: 850; text-decoration: none; }
.primary-button:hover { background: var(--lime-400); }
.action-number { font-size: .76rem; font-weight: 850; letter-spacing: .08em; opacity: .72; }
.action-content { display: flex; flex-direction: column; gap: .55rem; }
.action-content strong { font-size: 1.35rem; line-height: 1.1; }
.action-content span { color: var(--text-muted); }
.action-card--primary .action-content span { color: currentColor; opacity: .82; }
.action-arrow { align-self: end; font-size: 1.5rem; }
.field-note, .result-note, .help-panel { margin-top: 1rem; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid var(--border); border-radius: var(--radius-lg); background: color-mix(in srgb, var(--surface) 88%, transparent); }
.field-note { display: grid; grid-template-columns: 1fr auto; gap: 1rem 1.5rem; align-items: center; margin-top: 2rem; }
.field-note p, .result-note p { margin: .65rem 0 0; color: var(--text-muted); }
.secondary-button { padding-inline: 1rem; }
.status-message { grid-column: 1 / -1; min-height: 1.5rem; margin: 0 !important; font-weight: 700; }
.status-message[data-tone="success"] { color: var(--success); }
.status-message[data-tone="error"] { color: var(--error); }
.result-note { scroll-margin-top: 1rem; }
.help-panel summary { min-height: 3rem; cursor: pointer; font-weight: 800; }
.help-panel li + li { margin-top: .5rem; }
.help-panel [hidden] { display: none; }
.site-footer { display: flex; justify-content: space-between; gap: 1rem; padding-block: 1.5rem calc(1.5rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--border); color: var(--text-muted); font-size: .9rem; }
@media (max-width: 48rem) {
  .site-header, .site-footer, .page-shell { width: min(100% - 1.25rem, 72rem); }
  .coach-link { font-size: .9rem; }
  .primary-actions, .primary-actions--two { grid-template-columns: 1fr; }
  .primary-button { width: 100%; }
  .action-card { min-height: 8.5rem; }
  .field-note { grid-template-columns: 1fr; }
  .status-message { grid-column: auto; }
  .secondary-button { width: 100%; }
  .site-footer { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; } }
@media (forced-colors: active) { .action-card, .field-note, .result-note, .help-panel, .resume-card { border: 2px solid CanvasText; } }
