.marathon-home[hidden],.marathon-archive-bar[hidden]{display:none!important}
#trackerApp[data-marathon-home="true"]>.toolbar,#trackerApp[data-marathon-home="true"]>#kpiGrid,#trackerApp[data-marathon-home="true"]>.tracker-card{display:none!important}
.marathon-home{max-width:1120px;margin:12px auto 24px;padding:24px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-card);color:var(--text-main)}
.marathon-home-intro{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.marathon-home-stamp{flex:0 0 64px;width:64px;height:64px;display:grid;place-items:center;border:1px solid var(--gold-border);border-radius:18px;background:var(--gold-bg)}
.marathon-home-stamp img{width:48px;height:48px;object-fit:contain}
.marathon-home-eyebrow{margin:0 0 6px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.marathon-home h2{font-family:var(--font-main);font-size:clamp(23px,3vw,30px);line-height:1.2;margin:0 0 9px;letter-spacing:-.03em}
.marathon-home-description{max-width:800px;margin:0;color:var(--text-muted);font-size:14px;line-height:1.65}
.marathon-home-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.marathon-home-link{display:flex;gap:12px;align-items:center;min-width:0;padding:16px 12px;border:1px solid var(--border-color);border-radius:12px;color:var(--text-main);background:var(--bg-input);text-decoration:none;transition:background .15s,border-color .15s}
.marathon-home-link:hover{background:var(--bg-card-hover);border-color:var(--gold-border);color:var(--text-main)}
.marathon-home-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;color:var(--gold)}
.marathon-home-icon img{width:44px;height:44px;object-fit:contain}.marathon-home-icon svg{width:34px;height:34px}
.marathon-home-words{min-width:0;flex:1}.marathon-home-words strong{display:block;font-size:13px;line-height:1.4;margin-bottom:5px}
.marathon-home-words>span{display:block;font-size:12px;line-height:1.5;color:var(--text-muted)}
.marathon-home-arrow{color:var(--text-dim);font-size:16px;align-self:flex-start}
.marathon-home-more{display:flex;gap:8px 16px;flex-wrap:wrap;margin:18px 0 20px;font-size:12px;line-height:1.5}
.marathon-home-more>span{color:var(--text-dim)}.marathon-home-more a{color:var(--text-muted);text-decoration:underline;text-underline-offset:3px}.marathon-home-more a:hover{color:var(--text-main)}
.marathon-home-history{display:flex;gap:18px;align-items:center;justify-content:space-between;border-top:1px solid var(--border-color);padding-top:18px}
.marathon-home-history strong{font-size:13px}.marathon-home-history p{font-size:12px;line-height:1.6;color:var(--text-muted);margin:5px 0 0}
.marathon-home-history .marathon-home-next{color:var(--text-dim)}
.marathon-home-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;min-height:40px;padding:9px 16px;border:1px solid var(--gold-border);border-radius:9px;background:var(--gold-bg);color:var(--text-main);font:600 12px var(--font-main);text-decoration:none;cursor:pointer}
.marathon-home-button:hover{background:var(--bg-card-hover);border-color:var(--gold)}.marathon-home-button:disabled{opacity:.5;cursor:wait}
.marathon-home a:focus-visible,.marathon-home button:focus-visible,.marathon-archive-bar button:focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.marathon-home-login-note{font-size:12px;margin:14px 0 0;color:var(--text-dim)}
.marathon-archive-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;margin:12px 0;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-card);color:var(--text-muted);font-size:12px}
#guestMarathonHome{position:relative;z-index:2;margin:24px auto}.marathon-home h2:focus{outline:none}
@media(max-width:960px){.marathon-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.marathon-home{padding:16px;margin-top:10px}.marathon-home-intro{gap:12px;align-items:flex-start;margin-bottom:18px}.marathon-home-stamp{flex-basis:42px;width:42px;height:42px;border-radius:12px}.marathon-home-stamp img{width:34px;height:34px}.marathon-home-description{font-size:13px}.marathon-home-grid{grid-template-columns:1fr;gap:8px}.marathon-home-link{padding:12px}.marathon-home-history{align-items:stretch;flex-direction:column;gap:12px}.marathon-archive-bar{align-items:stretch;flex-direction:column;gap:8px}.marathon-home-more{gap:10px 15px}.marathon-home h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){.marathon-home-link{transition:none}}

/* A compact landing for returning players; keep the existing marathon states. */
.marathon-home { margin:20px auto 24px; padding:24px; border-radius:16px; }
.marathon-home-intro { gap:16px; margin-bottom:18px; }
.marathon-home-stamp { flex-basis:52px; width:52px; height:52px; border-radius:14px; }
.marathon-home-stamp img { width:40px; height:40px; }
.marathon-home h2 { font-size:clamp(22px,2.3vw,28px); text-wrap:balance; }
.marathon-home-description { max-width:760px; text-wrap:pretty; }
.marathon-home-quick { display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:14px 0 18px; border-top:1px solid var(--border-color); }
.marathon-home-quick>span { margin-right:4px; font-size:11px; color:var(--text-muted); }
.marathon-home-quick a { display:inline-flex; align-items:center; min-height:36px; padding:8px 12px; border:1px solid var(--gold-border); border-radius:8px; color:var(--text-main); background:var(--gold-bg); font-size:12px; font-weight:600; text-decoration:none; transition:border-color 120ms,background 120ms; }
.marathon-home-quick a:hover { border-color:var(--gold); background:var(--bg-card-hover); }
.marathon-home-grid { gap:12px; }
.marathon-home-link { min-height:104px; padding:16px; align-items:flex-start; background:var(--bg-input); }
.marathon-home-icon { width:42px; height:42px; flex-basis:42px; background:var(--gold-bg); border:1px solid var(--border-color); border-radius:10px; }
.marathon-home-icon img { width:34px; height:34px; border-radius:6px; }
.marathon-home-icon svg { width:27px; height:27px; }
.marathon-home-words strong { font-size:14px; font-weight:600; line-height:1.45; }
.marathon-home-words>span { line-height:1.6; }
.marathon-home-arrow { color:var(--gold); opacity:.65; margin-top:3px; }
.marathon-home-link:hover .marathon-home-arrow { opacity:1; }
.marathon-home-more { align-items:center; gap:4px 8px; margin:12px 0 16px; }
.marathon-home-more a { display:inline-flex; align-items:center; min-height:36px; padding:6px 8px; border-radius:6px; text-decoration:none; }
.marathon-home-more a:hover { background:var(--bg-card-hover); }
.marathon-home-history { padding-top:16px; }
.marathon-home-button { min-height:44px; }
@media(max-width:540px) {
 .marathon-home { margin:12px auto 20px; padding:16px; border-radius:12px; }
 .marathon-home-intro { gap:12px; }
 .marathon-home-stamp { flex-basis:40px; width:40px; height:40px; border-radius:10px; }
 .marathon-home-stamp img { width:32px; height:32px; }
 .marathon-home h2 { font-size:23px; }
 .marathon-home-quick { gap:6px; padding:12px 0 16px; }
 .marathon-home-quick>span { width:100%; margin-bottom:2px; }
 .marathon-home-quick a { min-height:44px; padding:8px 10px; }
 .marathon-home-link { min-height:88px; padding:13px; gap:12px; }
 .marathon-home-more a { min-height:44px; }
 .marathon-home-grid { gap:8px; }
}
@media(prefers-reduced-motion:reduce) { .marathon-home-quick a { transition:none; } }
