/* Run plans: a track-side whiteboard. Weeks are stacked lanes; each run is a chip coloured by effort (easy green,
   tempo amber, intervals red, long blue), and race week carries a chequered finish strip. */
:root { --page: #f1f3ef; --card: #ffffff; --ink: #141812; --soft: #59614f; --line: #d6dccf; --field: #e9ede4; --act: #c2410c; --on-act: #ffffff; --stop: #b3261e;
  --easy: #cfe8c9; --long: #cddcf3; --tempo: #f6e0a8; --intervals: #f4c3b5; --race: #141812; --wide: 680px; color-scheme: light; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --page: #101210; --card: #191c18; --ink: #ebefe7; --soft: #a3ad9a; --line: #2d3329; --field: #101210; --act: #ff8a50; --on-act: #2b0e00; --stop: #ff8a80;
    --easy: #23391f; --long: #1f2c42; --tempo: #43381a; --intervals: #452820; --race: #ebefe7; color-scheme: dark; }
}
.weeks { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.weeks li { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; display: grid; gap: 8px; }
.weeks li.now { border: 2px solid var(--act); }
.weeks li.race { background-image: repeating-linear-gradient(90deg, var(--ink) 0 8px, transparent 8px 16px); background-size: 100% 6px; background-repeat: no-repeat; padding-top: 16px; }
.weeks h3 { display: flex; justify-content: space-between; gap: 8px; font-size: 16px; } .weeks h3 span { color: var(--soft); font-weight: 500; }
.runs { display: flex; flex-wrap: wrap; gap: 6px; }
.runs span { border-radius: 8px; padding: 4px 8px; font-size: 14px; background: var(--easy); }
.runs .long { background: var(--long); } .runs .tempo { background: var(--tempo); } .runs .intervals { background: var(--intervals); } .runs .race { background: var(--race); color: var(--card); font-weight: 700; }
.runs small { display: block; color: var(--soft); font-size: 12px; } .runs .race small { color: inherit; }
