.route-reward{--route-ink:#163a36;--route-teal:#076c5c;--route-line:#cfe0d7;color:var(--route-ink);background:#fffdf6;border:1px solid var(--route-line);border-radius:24px;padding:clamp(20px,5vw,36px);margin-block:24px;overflow-wrap:anywhere}
.route-reward [hidden]{display:none!important}.route-reward-heading h2{font-size:clamp(26px,6vw,38px);letter-spacing:-.04em;line-height:1.18;margin:8px 0 12px}.route-reward-eyebrow{font-size:12px;font-weight:800;letter-spacing:.12em;color:var(--route-teal);margin:0;text-transform:uppercase}.route-reward-intro{font-size:15px;line-height:1.75}.route-reward-dates{font-size:13px;font-weight:700;line-height:1.8;padding:12px 0;border-block:1px solid var(--route-line)}
.route-reward-dates span,.route-reward-dates strong{display:block}.route-reward-dates span{font-size:12px;font-weight:400;color:#506961}.route-reward-dates strong{font-size:14px;margin-top:3px}
.route-reward-registration select{font:inherit;box-sizing:border-box;width:100%;min-height:48px;padding:12px;border:1px solid #b3c9be;border-radius:12px;background:#fff;color:var(--route-ink)}.route-reward-runner{flex-basis:100%;font-size:13px;line-height:1.8;margin-bottom:0}.route-reward-leaderboard:empty{display:none}.route-reward-leaderboard{margin-top:28px;border-top:1px solid var(--route-line);padding-top:20px}.route-reward-leaderboard h3{font-size:22px;margin:0 0 10px}.route-reward-leaderboard table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.65}.route-reward-leaderboard th,.route-reward-leaderboard td{padding:12px 6px;text-align:left;border-bottom:1px solid var(--route-line)}.route-reward-leaderboard th{font-size:12px;color:#506961}.route-reward-leaderboard td strong,.route-reward-leaderboard td span{display:block}.route-reward-leaderboard td span{color:#506961;font-size:11px}.route-reward-leaderboard .is-you{background:#eaf3e9}.route-reward-my-rank{padding:12px;border-radius:10px;background:#eaf3e9;font-size:13px;line-height:1.8}
.route-reward-note,.route-reward-stock{font-size:13px;line-height:1.85;color:#506961}.route-reward-stock{padding:14px 16px;background:#eaf3e9;border-radius:12px;color:#294b38}.route-reward-registration{display:grid;gap:14px;margin-top:22px}.route-reward-registration label{display:grid;gap:8px;font-size:14px;font-weight:700}.route-reward-registration input{font:inherit;font-size:18px;box-sizing:border-box;width:100%;padding:13px 15px;border:1px solid #b3c9be;border-radius:12px;background:#fff;color:var(--route-ink);min-height:48px}.route-reward-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:11px 18px;border:1px solid #bad0c2;border-radius:12px;font:inherit;font-size:14px;font-weight:700;line-height:1.4;background:#fff;color:var(--route-ink);cursor:pointer;text-decoration:none}.route-reward-button.is-primary{background:var(--route-teal);color:#fff;border-color:var(--route-teal)}.route-reward-button:disabled{opacity:.55;cursor:default}.route-reward :focus-visible{outline:3px solid #c98032;outline-offset:3px}.route-reward-message{min-height:1.5em;font-size:14px;line-height:1.75}.route-reward-message[data-kind=error]{color:#9a302b}
.route-reward-overview{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.route-reward-distance{flex-basis:100%;font-weight:800;margin-bottom:0}.route-reward-steps{flex-basis:100%;display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;list-style:none;padding:0;margin:4px 0 8px}.route-reward-steps li{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:#edf1e8;color:#607265;font-size:13px;max-width:40px}.route-reward-steps li.is-done{background:var(--route-teal);color:white}.route-reward-steps li.is-current{box-shadow:inset 0 0 0 2px #b27533;background:#fff3d2;color:#6a4917}.route-reward-game:empty{display:none}.route-reward-game{margin-top:20px}.route-reward-claim{border-top:2px solid var(--route-line);margin-top:24px;padding-top:24px}.route-reward-claim h3{font-size:24px;line-height:1.4;margin:10px 0}.route-reward-claim h4{font-size:17px;margin:24px 0 8px}.route-reward-claim img{display:block;max-width:100%;height:auto;margin:16px 0;border:1px solid #dce6e0;border-radius:12px}.route-reward-code{font-family:ui-monospace,monospace;font-size:22px;font-weight:700;letter-spacing:.06em;word-break:break-all}.route-reward-instructions{white-space:pre-wrap;line-height:1.8}.route-reward-contact{font-size:18px;font-weight:700}
.route-reward-admin{display:grid;gap:18px}.route-reward-admin .route-admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.route-reward-admin label{display:grid;gap:8px;font-size:14px}.route-reward-admin input,.route-reward-admin select,.route-reward-admin textarea{box-sizing:border-box;width:100%;font:inherit;min-height:44px;padding:10px 12px;border:1px solid var(--border-color,#cbd8d3);border-radius:10px;background:var(--surface,#fff);color:inherit}.route-reward-admin textarea{min-height:100px;resize:vertical}.route-reward-admin .route-admin-wide{grid-column:1/-1}.route-reward-admin .route-admin-note{font-size:13px;line-height:1.8;color:var(--text-muted,#617369);margin:0}.route-reward-admin .route-admin-summary{background:var(--surface-muted,#f0f5ee);border-radius:12px;padding:16px;line-height:1.8}.route-reward-admin :focus-visible{outline:3px solid #be802e;outline-offset:3px}.route-reward-admin .route-admin-message[data-kind=error]{color:var(--danger,#a53029)}
.route-reward-admin [hidden]{display:none!important}.route-reward-admin .button{min-height:44px;padding:10px 16px;border:1px solid var(--border-color,#bad0c2);border-radius:10px;font:inherit;font-size:14px;font-weight:700;background:var(--surface,#fff);color:inherit;cursor:pointer}.route-reward-admin .button--primary{background:#076c5c;color:#fff;border-color:#076c5c}.route-reward-admin .button:disabled{opacity:.55;cursor:default}
@media(max-width:620px){.route-reward{padding:20px 16px;border-radius:18px}.route-reward-overview>.route-reward-button{width:100%}.route-reward-admin .route-admin-form{grid-template-columns:1fr}.route-reward-steps{gap:4px}.route-reward-steps li{font-size:12px}.route-reward-code{font-size:19px}}
@media(prefers-reduced-motion:reduce){.route-reward *{scroll-behavior:auto!important}}
.route-reward .route-reward-my-rank,.route-reward .route-reward-leaderboard tr.is-you,.route-reward .route-reward-leaderboard tr.is-you td,.route-reward .route-reward-leaderboard tr.is-you strong{color:#193e32}
html[data-theme="dark"] .route-reward .route-reward-leaderboard th{color:#cfdfd5}
@media(prefers-color-scheme:dark){html:not([data-theme="light"]) .route-reward .route-reward-leaderboard th{color:#cfdfd5}}
