@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-vietnamese-800-normal-TfqTMNKp.woff2)format("woff2"),url(/assets/big-shoulders-display-vietnamese-800-normal-zHzF0To4.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:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-latin-ext-800-normal-fpv_pHPA.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-ext-800-normal-BQnXNQRw.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:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-latin-800-normal-DDUD9Xuh.woff2)format("woff2"),url(/assets/big-shoulders-display-latin-800-normal-CI0lhnTM.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:500;src:url(/assets/barlow-condensed-vietnamese-500-normal-DjeaNLFD.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-500-normal-CsrJDWc5.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:500;src:url(/assets/barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-500-normal-B1RE8WP7.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:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2)format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.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:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/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(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/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(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fff;--forest:#fff;--thicket:#b9cd86;--open:#ffcf4a;--contour:#c9955a;--water:#4a9fd8;--course:#5b3417;--course-deep:#3f230e;--course-tint:#f6efe6;--ink:#1d1b17;--ink-2:#5d5449;--line-soft:#e4ded3;--miss:.32;--font:system-ui, -apple-system, "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", sans-serif;--font-display:"Big Shoulders Display", var(--font);--font-cond:"Barlow Condensed", var(--font);--max:76rem;--gutter:max(1rem, 3vw);--rail:3.5rem;--trail-h:4.25rem;--ease-out:cubic-bezier(.16, 1, .3, 1)}@media (width<=47.99rem){:root{--rail:2.5rem;--trail-h:7.25rem}}*,:before,:after{box-sizing:border-box}html{font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-text-size-adjust:100%;accent-color:var(--course);caret-color:var(--course);scrollbar-color:var(--course) var(--paper);scroll-behavior:smooth;scroll-padding-top:var(--trail-h);font-size:16px;line-height:1.55}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);min-height:100dvh;margin:0}::selection{background:var(--course);color:var(--paper)}#root{flex-direction:column;min-height:100dvh;display:flex}:focus-visible{outline:3px solid var(--course);outline-offset:2px}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--course);color:var(--paper);z-index:20;border-radius:4px;padding:.5rem 1rem;position:absolute;top:-3rem;left:1rem}.skip-link:focus{top:1rem}.container{width:100%;max-width:var(--max);padding-inline:var(--gutter);margin-inline:auto}.site-main{outline:none;flex:1}.legend{border-top:2px solid var(--ink);margin-top:4rem}.legend__inner{gap:1.25rem;padding-block:1.75rem 2.25rem;display:grid}.legend__keys{flex-wrap:wrap;gap:.75rem 1.75rem;margin:0;display:flex}.legend__keys div{align-items:center;gap:.5rem;display:flex}.legend__keys dt{color:var(--course);display:flex}.legend__keys dd{margin:0;font-size:.9rem}.legend__mark{width:1.5rem;height:1.5rem}.legend__swatch{border:1px solid var(--ink);width:1.75rem;height:1.1rem;display:block}.legend__swatch--thicket{background:var(--thicket)}.legend__swatch--open{background:var(--open)}.legend__swatch--marsh{background:repeating-linear-gradient(var(--paper) 0 3px, var(--water) 3px 5px)}.legend__imprint{font-family:var(--font-cond);letter-spacing:.02em;color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;font-size:1rem;font-weight:500;display:flex}.hero{border-bottom:2px solid var(--ink);grid-template-columns:minmax(0,5fr) minmax(0,7fr);display:grid}.hero__copy{padding:3rem clamp(1.5rem, 3vw, 3rem) 3rem max(var(--gutter), (100vw - var(--max)) / 2 + var(--gutter));flex-direction:column;justify-content:center;gap:1.5rem;display:flex}.hero__brand{gap:.6rem;display:grid}.hero__latin{font-family:var(--font-display);letter-spacing:-.01em;text-transform:uppercase;color:var(--course);font-size:clamp(4rem,8vw,6rem);font-weight:800;line-height:.86}.hero__local{letter-spacing:.14em;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;line-height:1.2}.hero__lede{border-top:2px solid var(--course);max-width:30em;color:var(--ink-2);text-wrap:pretty;padding-top:1.25rem;font-size:1.0625rem;line-height:1.75}.hero__course{font-family:var(--font-cond);letter-spacing:.04em;color:var(--ink-2);gap:1.75rem;font-size:1.05rem;font-weight:600;display:flex}.hero__course b{color:var(--course);font-variant-numeric:tabular-nums;margin-right:.3rem;font-size:2rem;line-height:1}.hero__go{background:var(--course);color:var(--paper);letter-spacing:.08em;transition:background-color .2s var(--ease-out), box-shadow .2s var(--ease-out);border-radius:4px;align-self:flex-start;align-items:center;gap:.6rem;padding:.75rem 1.4rem .75rem 1.1rem;font-weight:700;display:inline-flex;box-shadow:0 2px 6px #3f230e40}.hero__go:hover{background:var(--course-deep);box-shadow:0 4px 14px #3f230e4d}.hero__go-mark{width:1.35rem;height:1.35rem}.hero__go-mark polygon{fill:none}.hero__map{background:var(--forest);border-left:2px solid var(--ink);align-self:stretch;position:relative;overflow:hidden}.course-map{aspect-ratio:4/3;width:100%;height:100%;min-height:100%;display:block}.course-map.is-drawing .course-map__leg{stroke-dasharray:var(--len) var(--len);animation:course-draw .8s var(--ease-out) both}.course-map__control{cursor:pointer;outline:none}.course-map__control:hover .course-map__ring,.course-map__control:focus-visible .course-map__ring{stroke-width:6px}.course-map__control:hover .course-map__label,.course-map__control:focus-visible .course-map__label{text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:2px}.course-map__control.is-skip .course-map__ring{stroke:var(--ink-2);stroke-dasharray:6 6}.course-map__control.is-skip .course-map__label{fill:var(--ink-2)}.course-map__hit{fill:#0000}.course-map__ring{fill:none;stroke:var(--course);stroke-width:3.6px;transition:stroke-width .2s var(--ease-out)}.course-map__label{font-family:var(--font);fill:var(--course);paint-order:stroke;stroke:var(--paper);stroke-width:7px;stroke-linejoin:round;font-size:27px;font-weight:800}.course-map__count{font-family:var(--font-cond);font-size:23px;font-weight:600}@keyframes course-draw{0%{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.course-map__leg{animation:none}}.trail{z-index:10;background:var(--paper);border-bottom:2px solid var(--course);position:sticky;top:0;box-shadow:0 6px 16px -10px #1d1b1759}.trail__inner{min-height:var(--trail-h);align-items:center;gap:1.25rem;padding-block:.75rem;display:flex}.punch{border:2px solid var(--ink);background:var(--paper);height:2.75rem;transition:border-color .2s var(--ease-out);border-radius:4px;flex:0 0 19rem;align-items:center;gap:.55rem;padding-inline:.85rem;display:flex}.punch:focus-within{border-color:var(--course)}.punch__icon{width:1.15rem;height:1.15rem;color:var(--ink);flex:none}.punch__input{min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:none;flex:1}.punch__input::placeholder{color:var(--ink-2)}.punch__input::-webkit-search-cancel-button{display:none}.punch__count{font-family:var(--font-cond);color:var(--course);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:600}.strip{scrollbar-width:none;flex:1;min-width:0;overflow-x:auto}.strip::-webkit-scrollbar{display:none}.strip__list{background:linear-gradient(var(--course), var(--course)) center/100% 2px no-repeat;justify-content:space-between;gap:.75rem;min-width:max-content;margin:0;padding:0;list-style:none;display:flex;position:relative}.strip__stop{background:var(--paper);white-space:nowrap;transition:color .2s var(--ease-out), background-color .2s var(--ease-out);border-radius:4px;align-items:center;gap:.35rem;padding:.35rem .55rem;font-size:.95rem;font-weight:600;display:inline-flex}.strip__stop:hover{color:var(--course)}.strip__stop[aria-current]{color:var(--course);background:var(--course-tint)}.strip__stop[aria-current] .strip__mark circle{fill:var(--course)}.strip__stop.is-skip,.strip__stop.is-skip .strip__mark{color:var(--ink-2)}.strip__stop.is-skip .strip__mark circle{stroke-dasharray:4 4}.strip__mark{width:1.15rem;height:1.15rem;color:var(--course);flex:none}.strip__count{font-family:var(--font-cond);color:var(--ink-2);font-weight:500}.course{padding-left:calc(var(--gutter) + var(--rail));padding-top:2.5rem;position:relative}.course:before{content:"";top:3.5rem;bottom:1.5rem;left:calc(var(--gutter) + var(--rail) / 2 - 1.5px);background:var(--course);width:3px;position:absolute}.course__end{min-height:2.25rem;font-family:var(--font-cond);letter-spacing:.08em;color:var(--course);align-items:center;font-size:1.15rem;font-weight:600;display:flex;position:relative}.course__end--finish{margin-top:2.5rem}.course__end-mark{left:calc(var(--rail) / -2);width:2.25rem;height:2.25rem;color:var(--course);position:absolute;top:50%;transform:translate(-50%,-50%)}.noresult{color:var(--ink-2);margin-top:1.5rem}.noresult b{color:var(--course)}.leg{scroll-margin-top:calc(var(--trail-h) + .5rem);transition:opacity .25s var(--ease-out)}.leg.is-empty{opacity:.45}.leg__head{flex-wrap:wrap;align-items:baseline;gap:.25rem .85rem;padding-block:3rem .85rem;display:flex;position:relative}.leg__mark{left:calc(var(--rail) / -2);width:2.6rem;height:2.6rem;color:var(--course);position:absolute;bottom:.95rem;transform:translate(-50%)}.leg__name{letter-spacing:.06em;font-size:clamp(1.6rem,3vw,2.15rem);font-weight:800;line-height:1.15}.leg__count{font-family:var(--font-cond);letter-spacing:.04em;color:var(--ink-2);font-size:1.1rem;font-weight:600}.desc{border-top:2px solid var(--ink);grid-template-columns:repeat(auto-fill,minmax(min(100%,30rem),1fr));column-gap:2.5rem;margin:0;padding:0;list-style:none;display:grid}.desc li{border-bottom:1px solid var(--line-soft);transition:opacity .2s var(--ease-out)}.desc .is-miss{opacity:var(--miss)}.desc__row{transition:background-color .18s var(--ease-out);grid-template-columns:minmax(0,1fr) auto 1rem;align-items:baseline;gap:.2rem 1rem;padding:.7rem .5rem;display:grid}.desc__row:hover{background:var(--course-tint)}.desc__row:hover .desc__title{color:var(--course)}.desc__row:hover .desc__ext{color:var(--course);transform:translate(1px,-1px)}.desc__title{overflow-wrap:anywhere;transition:color .18s var(--ease-out);font-weight:500;line-height:1.45}.desc__domain{text-overflow:ellipsis;white-space:nowrap;max-width:15rem;font-family:var(--font-cond);letter-spacing:.02em;color:var(--ink-2);font-size:1rem;font-weight:500;overflow:hidden}.desc__ext{width:1rem;height:1rem;color:var(--ink-2);transition:color .18s var(--ease-out), transform .18s var(--ease-out);align-self:start;margin-top:.3rem}.desc__note{color:var(--ink-2);grid-column:1/-1;font-size:.875rem}.notfound{justify-items:start;gap:1.25rem;padding-block:3rem 5rem;display:grid}.notfound__brand{font-family:var(--font-display);text-transform:uppercase;color:var(--course);font-size:2rem;font-weight:800}.notfound__code{font-family:var(--font-display);align-items:center;gap:1rem;margin-top:3rem;font-size:6rem;font-weight:800;line-height:1;display:flex}.notfound__mark{width:4.5rem;height:4.5rem;color:var(--course)}.notfound__mark circle{stroke-dasharray:6 5}.notfound__text{color:var(--ink-2)}.notfound__home{background:var(--course);color:var(--paper);letter-spacing:.06em;border-radius:4px;padding:.7rem 1.3rem;font-weight:700}.notfound__home:hover{background:var(--course-deep)}@media (width<=63.99rem){.hero{grid-template-columns:1fr}.hero__copy{padding:2.5rem var(--gutter) 2rem}.hero__map{border-left:0;border-top:2px solid var(--ink)}}@media (width<=47.99rem){.course-map__label{stroke-width:9px;font-size:34px}.course-map__count{font-size:30px}.trail__inner{flex-direction:column;align-items:stretch;gap:.6rem}.punch{flex-basis:auto}.strip__list{justify-content:flex-start}.desc__row{grid-template-columns:minmax(0,1fr) 1rem;padding-inline:.25rem}.desc__domain{grid-row:2;max-width:none;font-size:.95rem}.desc__ext{grid-area:1/2}}
