/* Running tools. Deliberately scoped; inherited Quark is untouched. */
.running-page #body-wrapper > .container { padding-top: 24px; }
.running-app { font-size: 16px; line-height: 1.6; }
.running-app * { min-width: 0; }
.running-app .running-heading { max-width: 720px; margin-bottom: 24px; }
.running-app .running-heading h1 { margin: 0 0 12px; font-size: 40px; line-height: 1.2; text-align: left; }
.running-app .running-heading > p:last-child { margin-bottom: 0; color: #536071; font-size: 18px; }
.running-app .running-eyebrow { margin: 0 0 12px; color: #536071; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; font-weight: 600; }
.running-app .running-jump { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.running-app .running-jump a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid #d9e0e8; border-radius: 4px; color: #35465c; font-size: 14px; font-weight: 600; }
.running-app .running-jump a:hover { background: #f1f6fc; border-color: #3e8def; }
.running-app .running-tool-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
.running-app .running-tool-panel { padding: 24px; border: 1px solid #dce3eb; border-radius: 6px; background: #fff; scroll-margin-top: 100px; }
.running-app .running-tool-panel--trainingplan,
.running-app .running-tool-panel--pace { grid-column: 1 / -1; }
.running-app h2 { margin: 0 0 8px; font-size: 23px; line-height: 1.3; text-align: left; }
.running-app h3 { margin: 24px 0 12px; font-size: 19px; line-height: 1.4; }
.running-app p { margin: 0 0 16px; }
.running-app .running-tool-intro { color: #536071; font-size: 15px; margin-bottom: 20px; }
.running-app .running-tool-note { margin: 20px 0 0; color: #536071; font-size: 13px; max-width: 720px; }
.running-app form > .mb-3 { margin-bottom: 16px; }
.running-app form label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: #343d4c; }
.running-app .form-control,
.running-app .form-select { display: block; width: 100%; height: auto; min-height: 44px; padding: 9px 11px; border: 1px solid #bac6d5; border-radius: 4px; background: #fff; color: #343d4c; font: inherit; font-size: 16px; line-height: 1.5; }
.running-app .btn { display: inline-flex; align-items: center; justify-content: center; width: auto; height: auto; min-height: 44px; padding: 9px 16px; margin-right: 6px; border: 1px solid #3e8def; border-radius: 4px; font: inherit; font-size: 15px; font-weight: 600; line-height: 1.5; cursor: pointer; }
.running-app .btn-primary { color: #fff; background: #246dc6; border-color: #246dc6; }
.running-app .btn-primary:hover { background: #1d5ca9; }
.running-app .btn-warning { color: #48566a; background: #fff; border-color: #bac6d5; }
.running-app .btn-link { min-height: 36px; color: #246dc6; background: none; border: 0; text-decoration: underline; font-size: 13px; }
.running-app .running-tool-panel--intervals form,
.running-app .running-tool-panel--equivalenttime form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
.running-app .running-tool-panel--intervals form > .mb-3:last-child,
.running-app .running-tool-panel--equivalenttime form > .mb-3:last-child { grid-column: 1 / -1; margin: 4px 0 0; }
.running-app .running-tool-panel--trainingplan > .row:first-child form { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 0 18px; }
.running-app .running-tool-panel--trainingplan > .row:first-child form > .mb-3:last-child { grid-column: 1 / -1; margin: 0; }
.running-app .running-tool-panel--trainingplan > .row:first-child .col > p:not(.running-tool-intro) { font-size: 13px; }
.running-app .running-table-scroll { display: block; width: 100%; overflow-x: auto; margin: 16px 0; border: 1px solid #e0e6ed; border-radius: 4px; -webkit-overflow-scrolling: touch; }
.running-app .table-responsive { max-width: 100%; }
.running-app .running-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 8px; margin: 16px 0; padding: 0; list-style: none; }
.running-app .running-steps > li { margin: 0; padding: 10px; border: 1px solid #e0e6ed; border-radius: 4px; background: #f8fafc; }
.running-app .running-step-label { display: block; font-size: 13px; color: #536071; }
.running-app .running-step-distance { display: block; font-size: 16px; font-weight: 600; color: #27496f; overflow-wrap: anywhere; }
.running-app .running-step--rep .running-step-distance { color: #b42318; }
.running-app table { width: 100%; margin: 0; border: 0; border-collapse: collapse; font-size: 14px; line-height: 1.5; }
.running-app th,
.running-app td { padding: 10px 12px; border: 0; border-bottom: 1px solid #e0e6ed; vertical-align: top; text-align: left; }
.running-app th { background: #f2f5f9; color: #343d4c; font-weight: 600; white-space: nowrap; }
.running-app tr:nth-child(even) > td { background: #f8fafc; }
.running-app .running-tool-panel--trainingplan table { min-width: 1000px; }
.running-app .running-tool-panel--trainingplan table td { min-width: 120px; font-size: 13px; }
.running-app .running-chart-link { display: inline-flex; min-height: 44px; align-items: center; font-weight: 600; }
.running-app .running-tool-panel--pace { background: #f7f9fc; }
.running-app .running-tool-panel--pace p:last-child { margin: 0; }
.running-app .running-back { display: inline-flex; align-items: center; min-height: 44px; margin-bottom: 12px; }
.running-app .alert { padding: 14px 18px; margin-bottom: 20px; border: 1px solid #e4b8b8; border-radius: 4px; background: #fff5f5; color: #8c2727; }
.running-app .running-pace-table { max-height: 72vh; }
.running-app .table_pace { min-width: 0; }
.running-app .table_pace td { white-space: nowrap; }
/* The pace chart is a reference grid, so sideways scrolling is never needed.
   The table breaks out of the 976px reading column (centred, capped at 1400px)
   without moving the rest of the page, and progressively less common distance
   columns are dropped as the screen narrows. Column numbers are the original
   table positions; hiding a column does not renumber its neighbours. */
@media (min-width: 1060px) {
    .running-chart-page .running-app .running-pace-table {
        width: min(1400px, calc(100vw - 64px));
        margin-left: calc(50% - min(700px, 50vw - 32px));
    }
}
.running-chart-page .running-app .table_pace tr > *:nth-child(17),
.running-chart-page .running-app .table_pace tr > *:nth-child(16),
.running-chart-page .running-app .table_pace tr > *:nth-child(15),
.running-chart-page .running-app .table_pace tr > *:nth-child(13),
.running-chart-page .running-app .table_pace tr > *:nth-child(12),
.running-chart-page .running-app .table_pace tr > *:nth-child(11),
.running-chart-page .running-app .table_pace tr > *:nth-child(10),
.running-chart-page .running-app .table_pace tr > *:nth-child(8),
.running-chart-page .running-app .table_pace tr > *:nth-child(7),
.running-chart-page .running-app .table_pace tr > *:nth-child(6),
.running-chart-page .running-app .table_pace tr > *:nth-child(5),
.running-chart-page .running-app .table_pace tr > *:nth-child(4),
.running-chart-page .running-app .table_pace tr > *:nth-child(2) { display: none; }
@media (min-width: 1460px) {
    .running-chart-page .running-app .table_pace tr > *:nth-child(17) { display: table-cell; }
}
@media (min-width: 1370px) {
    .running-chart-page .running-app .table_pace tr > *:nth-child(16),
    .running-chart-page .running-app .table_pace tr > *:nth-child(15) { display: table-cell; }
}
@media (min-width: 1210px) {
    .running-chart-page .running-app .table_pace tr > *:nth-child(13),
    .running-chart-page .running-app .table_pace tr > *:nth-child(12) { display: table-cell; }
}
@media (min-width: 1050px) {
    .running-chart-page .running-app .table_pace tr > *:nth-child(11),
    .running-chart-page .running-app .table_pace tr > *:nth-child(10) { display: table-cell; }
}
@media (min-width: 890px) {
    .running-chart-page .running-app .table_pace tr > *:nth-child(8),
    .running-chart-page .running-app .table_pace tr > *:nth-child(7) { display: table-cell; }
}
@media (min-width: 760px) {
    .running-chart-page .running-app .table_pace tr > *:nth-child(4),
    .running-chart-page .running-app .table_pace tr > *:nth-child(2) { display: table-cell; }
}
@media (min-width: 600px) {
    .running-chart-page .running-app .table_pace tr > *:nth-child(6) { display: table-cell; }
}
@media (min-width: 390px) {
    .running-chart-page .running-app .table_pace tr > *:nth-child(5) { display: table-cell; }
}
@media (max-width: 579px) {
    .running-chart-page .running-app .table_pace { font-size: 12px; }
    .running-chart-page .running-app .table_pace td { padding: 6px 5px; }
}
.running-app .table_pace tr:not(.table_pace_riga1_miles) td { background: #fff !important; color: #48566a !important; }
.running-app .table_pace tr:not(.table_pace_riga1_miles):nth-child(even) td { background: #f8fafc !important; }
.running-app .table_pace tr:not(.table_pace_riga1_miles) td:first-child,
.running-app .table_pace tr:not(.table_pace_riga1_miles) td:nth-child(3) { background: #eaf1fa !important; color: #27496f !important; font-weight: 600; }
.running-app .table_pace_riga1_miles td { position: sticky; top: 0; background: #343d4c !important; color: #fff; font-weight: 600; z-index: 1; }
.running-app .table_pace td:first-child { position: sticky; left: 0; background: #f1f5fa; font-weight: 600; }
.running-app a:focus-visible,
.running-app button:focus-visible,
.running-app input:focus-visible,
.running-app select:focus-visible,
.running-app [tabindex]:focus-visible { outline: 3px solid #235fa7 !important; outline-offset: 3px; }
/* Personal running hub. Blog posts remain at their original canonical URLs. */
.running-hub .running-heading { margin-bottom: 36px; }
.running-hub .running-strava { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; font-size: 15px; font-weight: 600; }
.running-hub-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.running-hub h2 { margin-bottom: 16px; }
.running-hub .running-empty { padding: 24px; border: 1px solid #e0e6ed; border-radius: 5px; }
.running-hub .running-empty-title { color: #343d4c; font-weight: 600; }
.running-hub .running-empty p:last-child { margin: 0; color: #536071; }
.running-tools-callout { padding: 24px; border: 1px solid #dce3eb; border-radius: 5px; background: #f7f9fc; }
.running-hub .running-tools-callout h2 { font-size: 21px; margin-bottom: 12px; }
.running-hub .running-tools-callout p { font-size: 15px; color: #536071; margin-bottom: 12px; }
.running-post { padding: 24px 0; border-bottom: 1px solid #e0e6ed; }
.running-post:first-child { padding-top: 4px; }
.running-hub .running-post-date { margin: 0 0 8px; font-size: 13px; color: #536071; }
.running-hub .running-post h3 { margin: 0 0 12px; font-size: 24px; }
.running-post-link { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
@media (max-width: 760px) {
    .running-hub-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .running-hub .running-heading { margin-bottom: 28px; }
    .running-hub .running-empty, .running-tools-callout { padding: 20px; }
    .running-page #body-wrapper { padding-top: 80px; }
    .running-page #body-wrapper > .container { padding-top: 16px; }
    .running-app .running-heading h1 { font-size: 34px; }
    .running-app .running-heading > p:last-child { font-size: 17px; }
    .running-app .running-tool-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .running-app .running-tool-panel { padding: 20px 16px; }
    .running-app .running-tool-panel--trainingplan > .row:first-child form { grid-template-columns: minmax(0, 1fr); }
    .running-app h2 { font-size: 22px; }
}
@media (max-width: 360px) {
    .running-app .running-tool-panel--intervals form,
    .running-app .running-tool-panel--equivalenttime form { grid-template-columns: minmax(0, 1fr); }
    .running-app .running-jump a { font-size: 13px; padding: 8px 10px; }
}
