:root{--bg:#fafaf9;--fg:#1c1917;--muted:#57534e;--line:#e7e5e4;--accent:#0f766e;--card:#fff;--on-accent:#fff;--font:system-ui, -apple-system, "Segoe UI", sans-serif;--font-head:var(--font);--head-weight:700;--head-track:-.01em;--head-lh:1.12;--radius:10px;--radius-lg:16px;--page:760px;--page-wide:960px;--header-bg:transparent;--header-fg:var(--fg);--header-line:var(--line)}@media (prefers-color-scheme:dark){:root{--bg:#1c1917;--fg:#f5f5f4;--muted:#a8a29e;--line:#44403c;--accent:#2dd4bf;--card:#292524;--on-accent:#111}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font:400 17px/1.62 var(--font);background:var(--bg);color:var(--fg);text-rendering:optimizelegibility;margin:0}a{color:var(--accent);text-underline-offset:.18em;text-decoration-thickness:from-font}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px}img,svg{max-width:100%}h1,h2,h3{font-family:var(--font-head);font-weight:var(--head-weight);letter-spacing:var(--head-track);line-height:var(--head-lh);text-wrap:balance}h1{margin:.4em 0 .35em;font-size:clamp(2rem,1.4rem + 2.6vw,3.1rem)}h2{margin:1.6em 0 .5em;font-size:clamp(1.4rem,1.2rem + .9vw,1.85rem)}h3{margin:1.4em 0 .4em;font-size:1.15rem}p,li{text-wrap:pretty}.wrap{max-width:var(--page);margin:0 auto;padding:0 16px}.wrap.wide{max-width:var(--page-wide)}.skip{position:absolute;left:-999px}.skip:focus{background:var(--card);z-index:10;padding:8px;top:8px;left:8px}header.site{background:var(--header-bg);color:var(--header-fg);border-bottom:1px solid var(--header-line)}header.site .wrap{max-width:var(--page-wide);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 20px;padding-block:12px;display:flex}header.site a.brand{font-family:var(--font-head);color:inherit;letter-spacing:var(--head-track);align-items:center;gap:10px;font-size:1.15rem;font-weight:800;text-decoration:none;display:inline-flex}header.site a.brand img{border-radius:8px;width:30px;height:30px}header.site nav{flex-wrap:wrap;gap:4px 18px;display:flex}header.site nav a{color:inherit;border-bottom:2px solid #0000;padding:4px 0;font-weight:500;text-decoration:none}header.site nav a:hover,header.site nav a[aria-current=page]{border-bottom-color:var(--accent)}main{padding-block:8px 56px}.btn{font:inherit;border-radius:var(--radius);background:var(--accent);color:var(--on-accent);cursor:pointer;border:0;align-items:center;gap:8px;padding:12px 20px;font-weight:700;text-decoration:none;display:inline-flex}footer.site{border-top:1px solid var(--line);color:var(--muted);padding-block:32px 40px;font-size:.92rem}footer.site .wrap{max-width:var(--page-wide);grid-template-columns:minmax(0,1fr);gap:12px 32px;display:grid}@media (width>=760px){footer.site .wrap{grid-template-columns:1.2fr 2fr}}footer.site .f-brand{color:var(--fg);font-family:var(--font-head);font-weight:800}footer.site .f-brand span{color:var(--muted);font-family:var(--font);margin-top:4px;font-weight:400;display:block}footer.site nav{flex-wrap:wrap;align-content:start;gap:6px 18px;display:flex}footer.site a{color:var(--muted)}footer.site small{grid-column:1/-1}.ad{min-height:280px;margin:32px 0}table{border-collapse:collapse;width:100%;font-size:.95rem}td,th{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 6px}th{font-weight:700}.table-wrap{margin:16px 0;overflow-x:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}main.wide{font-size:1.04em}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-condensed-vietnamese-600-normal.A5AYRdjN.woff2)format("woff2"),url(/_astro/barlow-condensed-vietnamese-600-normal.CNlPk46_.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-condensed-latin-ext-600-normal.18ESti3H.woff2)format("woff2"),url(/_astro/barlow-condensed-latin-ext-600-normal.Clv9cIcR.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-condensed-latin-600-normal.DepVgxBB.woff2)format("woff2"),url(/_astro/barlow-condensed-latin-600-normal.BFJEwTuo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/barlow-condensed-vietnamese-700-normal.DYeBwlKR.woff2)format("woff2"),url(/_astro/barlow-condensed-vietnamese-700-normal.DhIzd8Tb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/barlow-condensed-latin-ext-700-normal.CwuXbfVR.woff2)format("woff2"),url(/_astro/barlow-condensed-latin-ext-700-normal.BIHFfxf0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/barlow-condensed-latin-700-normal.v1xN8_Wq.woff2)format("woff2"),url(/_astro/barlow-condensed-latin-700-normal.Dmwat-ge.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/barlow-vietnamese-400-normal.Dpl4UHAZ.woff2)format("woff2"),url(/_astro/barlow-vietnamese-400-normal.BFeobeCK.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/barlow-latin-ext-400-normal.HxX4XjxC.woff2)format("woff2"),url(/_astro/barlow-latin-ext-400-normal.CvBsJvxq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/barlow-latin-400-normal.qiz4-Cze.woff2)format("woff2"),url(/_astro/barlow-latin-400-normal.fsAxiSwU.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-vietnamese-600-normal.DcjprdFV.woff2)format("woff2"),url(/_astro/barlow-vietnamese-600-normal.CA_GiK2e.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-latin-ext-600-normal.B8NK_A3D.woff2)format("woff2"),url(/_astro/barlow-latin-ext-600-normal.DMVRjfRT.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/barlow-latin-600-normal.DILqtrty.woff2)format("woff2"),url(/_astro/barlow-latin-600-normal.CNwfPWQD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html:root{--track:#f4f5f7;--white:#fff;--asphalt:#1e2329;--signal:#d9480f;--pace:#1c7ed6;--bg:var(--track);--fg:var(--asphalt);--muted:#4d5560;--line:#d9dde3;--accent:#c2410c;--card:var(--white);--font:"Barlow", system-ui, sans-serif;--font-head:"Barlow Condensed", "Barlow", sans-serif;--head-weight:700;--head-track:0;--head-lh:1;--radius:4px;--header-bg:var(--asphalt);--header-fg:#fff;--header-line:transparent}@media (prefers-color-scheme:dark){html:root{--track:#15181c;--white:#1f242a;--asphalt:#eef1f4;--signal:#ff8a4c;--pace:#74b9ff;--bg:var(--track);--fg:var(--asphalt);--muted:#a7afb9;--line:#333a42;--accent:#ff9a62;--card:var(--white);--header-bg:#0f1215;--on-accent:#1a0d05}}h2{font-size:clamp(1.7rem,1.4rem + 1vw,2.2rem)}.hero{background:var(--white);border-bottom:4px solid var(--signal)}.hero-grid{align-items:center;gap:24px;padding-block:18px 26px;display:grid}.hero h1{max-width:12ch;margin:0 0 .25em;font-size:clamp(2.8rem,1.8rem + 4.4vw,5rem);line-height:.95}.hero .lead{max-width:48ch;margin:0 0 1.1em;font-size:1.1rem}.hero .fm-drop.fm-drop{text-align:left;background:var(--track);border:2px dashed var(--line);border-left:6px solid var(--signal);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:10px;max-width:520px;margin:0 0 14px;padding:18px;display:flex}.hero .fm-drop.over{border-color:var(--signal)}.hero .fm-drop .btn.btn{color:var(--on-accent);font-family:var(--font-head);letter-spacing:.01em;padding:11px 26px;font-size:1.35rem;display:inline-flex}.hero .drop-note,.hero .private{color:var(--muted)}.hero .private{align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.hero .private svg{color:var(--accent);flex:none}.act{display:none}@media (width>=960px){.hero-grid{grid-template-columns:1fr 440px;gap:40px;padding-block:36px}.act{background:var(--white);border:1px solid var(--line);border-radius:10px;margin:0;font-size:.9rem;display:block;overflow:hidden;box-shadow:0 18px 40px -24px #00000073}.act-head{align-items:center;gap:10px;padding:12px 14px 8px;display:flex}.act-head div{flex-direction:column;line-height:1.25;display:flex}.act-head b{font-size:1.05rem}.act-head div span{color:var(--muted);font-size:.8rem}.sport{background:var(--signal);color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;display:grid}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:0 14px 10px;display:grid}.stats dt{color:var(--muted);font-size:.72rem}.stats dd{font:700 1.35rem/1.1 var(--font-head);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.stats small{font:600 .72rem var(--font);color:var(--muted)}.map{line-height:0;position:relative}.map img{width:100%;height:auto;display:block}.map svg{width:100%;height:100%;position:absolute;inset:0}.halo{fill:none;stroke:#fff;stroke-width:8px;stroke-linejoin:round}.trace{fill:none;stroke:#fc5200;stroke-width:4.5px;stroke-linejoin:round}.start{fill:#2b8a3e;stroke:#fff;stroke-width:3px}.km circle{fill:#fff;stroke:#1e2329;stroke-width:2px}.km text{font:700 12px var(--font-head);text-anchor:middle;fill:#1e2329}.osm{color:#333;background:#fffc;border-radius:3px;padding:2px 4px;font-size:.62rem;line-height:1;position:absolute;bottom:4px;right:4px}.charts{grid-template-columns:1fr 1fr;gap:12px;padding:10px 14px 4px;display:grid}.chart p{color:var(--muted);margin:0 0 4px;font-size:.75rem}.chart p b{color:var(--fg);margin-left:4px}.chart svg{width:100%;height:70px;display:block}.grid line{stroke:var(--line);stroke-width:1px;vector-effect:non-scaling-stroke}.hr{fill:none;stroke:#e03131;stroke-width:1.6px;vector-effect:non-scaling-stroke}.hr-fill{fill:#e0313124}.pace{fill:none;stroke:#1c7ed6;stroke-width:1.6px;vector-effect:non-scaling-stroke}.pace-fill{fill:#1c7ed624}.ax{color:var(--muted);justify-content:space-between;margin-top:2px;font-size:.66rem;display:flex}.saved{color:#2b8a3e;margin:6px 14px 12px;font-size:.78rem;font-weight:600}}@media (width>=960px) and (prefers-color-scheme:dark){.map img{filter:brightness(.82)contrast(1.05)}.saved{color:#69db7c}}main .fm-btn.fm-btn{border-radius:var(--radius);font-weight:600}.how{counter-reset:s;padding:0;list-style:none}.how li{counter-increment:s;padding:0 0 18px 54px;position:relative}.how li:before{content:counter(s);font:700 2.2rem/1 var(--font-head);color:var(--signal);position:absolute;top:-6px;left:0}.home-guides ul{columns:2 260px;column-gap:32px;padding-left:1.1em}.home-guides li{break-inside:avoid;margin-bottom:6px}
