:root{color-scheme:light;--bg:#fff8f4;--paper:#fff8f4;--card:#f0e4da;--sand:#f0e4da;--border:#211d1d29;--ink:#211d1d;--ink-soft:#78685e;--muted:#78685e;--coral:#db6a41;--coral-deep:#a5442a;--teal:#2f6170;--highlight:#fcea8b;--accent:#db6a41;--accent-ink:#2f6170;--on-accent:#211d1d;--mark:#db6a41;--on-mark:#211d1d;--tag-ink:#2f6170;--run:#db6a41;--run-ink:#a5442a;--sink:#fff8f4;--ink-hover:color-mix(in srgb, var(--ink) 82%, var(--coral));--shadow:0 1px 2px #211d1d0d, 0 10px 28px #211d1d0f;--shadow-lift:0 4px 10px #211d1d12, 0 16px 36px #211d1d1a;--glow-warm:#db6a4129;--glow-cool:#2f617014;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", "PingFang TC", "Noto Sans TC", "Noto Sans CJK TC", "Microsoft JhengHei", "WenQuanYi Micro Hei", sans-serif;--measure:40rem;--radius:16px;--step--1:.875rem;--step-0:1.0625rem;--step-1:1.25rem;--step-2:1.45rem;--step-3:clamp(1.85rem, 1.4rem + 1.6vw, 2.5rem)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg);scrollbar-color:var(--coral-deep) var(--paper);scrollbar-width:thin}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--paper)}::-webkit-scrollbar-thumb{background:var(--coral-deep);border:3px solid var(--paper);border-radius:999px}::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:active{background:var(--coral)}body{z-index:0;min-height:100vh;color:var(--ink);font-family:var(--font);font-size:var(--step-0);font-feature-settings:"palt" 1;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:0 0;flex-direction:column;margin:0;line-height:1.75;display:flex;position:relative}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(980px 480px at -8% -10%, var(--glow-warm), transparent 62%), radial-gradient(900px 440px at 108% -16%, var(--glow-cool), transparent 60%);position:fixed;inset:0}h1,h2,h3,h4,p{margin:0}a{color:inherit;text-underline-offset:.18em;text-decoration:none}a:visited{color:inherit}button,input{font:inherit;color:inherit}img{max-width:100%;height:auto;display:block}::selection{background:var(--highlight);color:var(--ink)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap,.wrap--wide{width:min(100% - 2.5rem,72rem);margin-inline:auto}.site-header{background:var(--bg);border-bottom:1px solid var(--border)}.site-header .wrap{width:min(100% - 2.5rem,72rem)}.header-bar{align-items:center;gap:.75rem 1rem;padding-block:1.05rem .85rem;display:flex}.brand{letter-spacing:.01em;flex:none;align-items:center;gap:.6rem;font-size:1.02rem;font-weight:700;line-height:1;display:inline-flex}.brand__badge{background:var(--coral);width:2rem;height:2rem;color:var(--on-accent);border-radius:999px;place-items:center;font-size:.95rem;font-weight:700;display:grid}.site-nav{flex-wrap:wrap;align-items:center;gap:.1rem .2rem;margin-left:auto;display:flex}.site-nav a{white-space:nowrap;color:var(--ink);border-bottom:3px solid #0000;padding:.35rem .55rem .3rem;font-size:.95rem;line-height:1.4}.site-nav a:hover,.site-nav a:active{border-bottom-color:var(--coral)}.site-nav a:active{color:var(--coral-deep)}.site-nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--coral);font-weight:650}.icon-btn{width:2.4rem;height:2.4rem;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;margin-left:.15rem;padding:0;display:grid}.icon-btn:hover,.icon-btn:active{background:color-mix(in srgb, var(--coral) 16%, transparent)}main{flex:1;padding-block:1.35rem 2.5rem}.site-footer{background:var(--ink);color:var(--paper);margin-top:auto}.site-footer .wrap{color:var(--paper);flex-wrap:wrap;gap:.65rem 1.25rem;padding-block:1.4rem 2rem;font-size:.9rem;display:flex}.site-footer a:visited{color:var(--paper)}.site-footer a:hover,.site-footer a:active{color:var(--coral)}.hero{grid-template-columns:minmax(16rem,.82fr) minmax(0,1.18fr);align-items:center;gap:1.75rem 2.75rem;margin-bottom:2.85rem;display:grid}.hero h1{letter-spacing:-.01em;font-size:clamp(2.5rem,1.4rem + 2.6vw,3.45rem);font-weight:750;line-height:1.12}.hero__sub{max-width:24rem;color:var(--ink-soft);margin-top:.9rem;font-size:1.05rem;line-height:1.7}.home-section{margin-top:2.6rem}.home-section h2{margin:0 0 .95rem;font-size:1.2rem;font-weight:700}.home-section h2 a:hover{color:var(--accent-ink)}.home-section__sub{color:var(--ink-soft);margin:-.55rem 0 .95rem;font-size:.92rem}.home-more{border:2px solid var(--teal);color:var(--teal);background:0 0;border-radius:999px;align-items:center;gap:.35rem;margin-top:1.05rem;padding:.4rem .9rem;font-weight:650;line-height:1.3;display:inline-flex}.home-more:hover,.home-more:active{background:color-mix(in srgb, var(--teal) 14%, transparent);color:var(--teal)}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.card-grid>li{min-width:0;display:flex}.card{background:var(--card);border:1px solid var(--border);border-top:4px solid var(--coral);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);align-items:stretch;gap:.85rem;padding:.75rem;transition:transform .18s,box-shadow .18s;display:flex}.card-grid>li:nth-child(2n) .card{border-top-color:var(--teal)}.card:hover,.card:focus-within{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.card__media{background:var(--sink);height:6.35rem;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ink) 8%, transparent);border-radius:12px;flex:0 0 7.35rem;position:relative;overflow:hidden}.card__shot{display:block;position:absolute;inset:0}.card__shot img,.ph{object-fit:cover;width:100%;height:100%}.card__media .tag{z-index:1;background:var(--paper);color:var(--teal);border-color:color-mix(in srgb, var(--teal) 42%, var(--paper));position:absolute;top:.45rem;left:.45rem;box-shadow:0 1px 2px #211d1d1f}.card__media .tag--bike{color:var(--coral-deep);border-color:var(--coral);background:var(--paper)}.card__body{flex-direction:column;justify-content:center;gap:.32rem;min-width:0;padding:.1rem .25rem .1rem 0;display:flex}.card__meta{flex-wrap:wrap;align-items:center;gap:.45rem .55rem;display:flex}.card__meta time,.card time{color:var(--coral-deep);font-variant-numeric:tabular-nums;letter-spacing:.01em;font-size:.8rem}.card__title{text-wrap:pretty;font-size:1.02rem;font-weight:700;line-height:1.45}.card__title a:hover{color:var(--accent-ink)}.card__excerpt{color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.92rem;line-height:1.65;display:-webkit-box;overflow:hidden}.more{color:var(--accent-ink);white-space:nowrap;align-self:flex-start;margin-top:.15rem;font-size:.92rem;font-weight:650}.card:hover .more,.more:hover{text-decoration:underline}.card--feature{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:stretch;gap:.4rem 1.15rem;padding:.85rem;display:grid}.card--feature .card__media{aspect-ratio:4/3;border-radius:12px;flex:none;align-self:stretch;width:auto;height:auto}.card--feature .card__body{justify-content:center;gap:.55rem;padding:.7rem .85rem .7rem .25rem}.card--feature .card__title{font-size:clamp(1.2rem,.9rem + .7vw,1.45rem);line-height:1.4}.ph{color:var(--teal);background:radial-gradient(circle at 18% 18%, #fcea8bb3, transparent 46%), linear-gradient(160deg, var(--paper), var(--sand))}.ph svg{width:100%;height:100%;display:block}.ph--bike{color:var(--coral);background:radial-gradient(circle at 78% 22%, #db6a4147, transparent 48%), linear-gradient(160deg, var(--paper), var(--sand))}.ph--read{color:var(--teal);background:radial-gradient(circle at 80% 18%, #2f617029, transparent 46%), linear-gradient(160deg, var(--paper), var(--sand))}.tag{border:1px solid color-mix(in srgb, var(--tag-ink) 42%, var(--border));background:color-mix(in srgb, var(--tag-ink) 8%, var(--card));color:var(--tag-ink);letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;padding:.08rem .55rem;font-size:.75rem;font-weight:650;line-height:1.55;display:inline-flex}.tag:hover{border-color:var(--tag-ink)}.tag--bike{border-color:var(--run);color:var(--run-ink);background:color-mix(in srgb, var(--run) 10%, var(--card))}.tag--bike:hover{border-color:var(--run)}.page-head{border:0;flex-direction:column;align-items:flex-start;gap:.35rem;margin:.25rem 0 1.6rem;padding:0;display:flex}.page-head__count{letter-spacing:.04em;color:var(--coral-deep);font-size:.85rem;font-weight:700;line-height:1}.page-head h1{font-size:var(--step-3);font-weight:750;line-height:1.15}.page-head__sub{color:var(--ink-soft);font-size:.98rem}.empty{color:var(--ink-soft)}.post{max-width:var(--measure);margin-inline:auto}.post-shell{grid-template-columns:minmax(0,1fr) 16rem;align-items:start;gap:2.5rem;display:grid}.post-shell .post{min-width:0;max-width:none;margin-inline:0}.sidebar{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.05rem 1.1rem 1.15rem;font-size:.92rem;line-height:1.6;position:sticky;top:1.25rem}.sidebar__block+.sidebar__block{border-top:1px solid var(--border);margin-top:1.35rem;padding-top:1.15rem}.sidebar__head{letter-spacing:.08em;color:var(--coral-deep);margin:0 0 .7rem;font-size:.75rem;font-weight:700}.sidebar ul{margin:0;padding:0;list-style:none}.sidebar__cats li+li,.sidebar__recent li+li{margin-top:.45rem}.sidebar__cats a{border-radius:6px;justify-content:space-between;gap:.75rem;display:flex}.sidebar__cats a:hover{color:var(--accent-ink)}.sidebar__cats a[aria-current=true]{color:var(--accent-ink);font-weight:700}.sidebar__n{font-variant-numeric:tabular-nums;color:var(--coral-deep);font-size:.78rem}.sidebar__recent time{color:var(--coral-deep);font-variant-numeric:tabular-nums;font-size:.75rem;display:block}.sidebar__recent span{font-weight:650;line-height:1.4;display:block}.sidebar__recent a:hover span{color:var(--accent-ink)}.sidebar__tags{flex-wrap:wrap;gap:.4rem;display:flex}.sidebar__back{border-top:1px solid var(--border);width:100%;font-size:var(--step--1);color:var(--teal);margin-top:1.2rem;padding-top:1rem;display:inline-block}.sidebar__back:hover{color:var(--accent-ink)}.post__head{border-bottom:1px solid var(--border);margin-bottom:1.6rem;padding-bottom:1.1rem}.post__title{font-weight:750;font-size:var(--step-3);text-wrap:pretty;margin:0 0 .85rem;line-height:1.22}.post__meta{color:var(--ink-soft);font-size:var(--step--1);flex-wrap:wrap;align-items:center;gap:.45rem .75rem;display:flex}.post__hero{border:1px solid var(--border);border-radius:var(--radius);width:100%;margin-top:1.15rem}.prose{font-size:var(--step-0);line-height:1.9}.prose>*+*{margin-top:1.15rem}.prose h1,.prose h2,.prose h3{margin-top:2.3rem;font-weight:700;line-height:1.35}.prose h2{font-size:var(--step-2);border-left:4px solid var(--mark);padding-left:.75rem}.prose h3{font-size:var(--step-1)}.prose a{color:var(--accent-ink);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--accent-ink) 45%, transparent)}.prose a:visited{color:var(--teal)}.prose a:hover,.prose a:active{color:var(--teal);text-decoration-color:var(--accent-ink)}.prose img,.prose video{border:1px solid var(--border);border-radius:12px;width:100%;margin-block:1.5rem}.prose .video-embed{aspect-ratio:16/9;border:1px solid var(--border);border-radius:12px;width:100%;margin-block:1.5rem;position:relative;overflow:hidden}.prose .video-embed iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.prose figure{margin:1.5rem 0}.prose figcaption{color:var(--ink-soft);margin-top:.45rem;font-size:.8rem;display:block}.prose blockquote{border-left:4px solid var(--coral);background:var(--sand);color:var(--ink);margin:1.5rem 0;padding:.15rem 0 .15rem 1rem}.prose li::marker{color:var(--coral)}.prose table{border-collapse:separate;border-spacing:0;background:var(--sand);border:1px solid var(--border);width:100%;color:var(--ink);table-layout:fixed;border-radius:12px;margin-block:1.5rem;font-size:.92rem;line-height:1.55;overflow:hidden}.prose th,.prose td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);color:var(--ink);vertical-align:top;overflow-wrap:anywhere;padding:.55rem .7rem}.prose th:last-child,.prose td:last-child{border-right:0}.prose tr:last-child td,.prose tr:last-child th{border-bottom:0}.prose th,.prose tr:first-child td{background:color-mix(in srgb, var(--coral) 12%, var(--sand));font-weight:700}.prose mark{background:var(--highlight);color:var(--coral-deep);border-radius:2px;padding:0 .12em}.prose ul,.prose ol{padding-left:1.3rem}.prose li+li{margin-top:.35rem}.prose pre{background:var(--sand);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;font-size:.88rem;line-height:1.6;overflow-x:auto}.prose :not(pre)>code{background:var(--sand);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.88em}.prose hr{border:0;border-top:1px solid var(--border);margin-block:2.2rem}.post__foot{border-top:1px solid var(--border);flex-wrap:wrap;gap:.45rem;margin-top:2.4rem;padding-top:1.1rem;display:flex}.post-nav{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.75rem;display:grid}.post-nav__link{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.3rem;padding:.95rem 1.05rem;transition:transform .18s,box-shadow .18s;display:flex}.post-nav__link:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.post-nav__link--next{text-align:right;align-items:flex-end}.post-nav__dir{color:var(--coral-deep);font-size:.78rem}.post-nav__title{font-size:.98rem;font-weight:700;line-height:1.4}.related{border-top:1px solid var(--border);margin-top:2.4rem;padding-top:1.15rem}.related__head{margin:0 0 .75rem;font-size:.95rem;font-weight:700}.related__list{margin:0;padding:0;list-style:none}.related__list li+li{margin-top:.5rem}.related__list a{align-items:baseline;gap:.85rem;display:flex}.related__list time{color:var(--ink-soft);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.78rem}.related__list a:hover span{color:var(--accent-ink)}.search-dialog{z-index:40;background:color-mix(in srgb, var(--ink) 38%, transparent);place-items:start center;padding:12vh 1rem 2rem;display:grid;position:fixed;inset:0}.search-dialog[hidden]{display:none}.search-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:min(100%,36rem);box-shadow:var(--shadow-lift);padding:.85rem}.search-row{align-items:center;gap:.35rem;display:flex}.search-row input{background:var(--sink);border:0;border-radius:10px;outline:none;flex:1;min-width:0;padding:.65rem .7rem}.search-row input::placeholder{color:var(--muted);opacity:1}.search-row input:focus-visible{outline:3px solid var(--coral-deep);outline-offset:2px}.search-row input:-webkit-autofill,.search-row input:-webkit-autofill:hover,.search-row input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);caret-color:var(--ink);box-shadow:0 0 0 1000px var(--sand) inset}.search-hint{color:var(--coral-deep);letter-spacing:.06em;margin:.75rem .35rem .15rem;font-size:.78rem;font-weight:700}.search-results{max-height:min(52vh,24rem);margin:.35rem 0 0;padding:0;list-style:none;overflow:auto}.search-results a{border-radius:10px;flex-direction:column;gap:.1rem;padding:.6rem .7rem;display:flex}.search-results a:hover,.search-results a:focus-visible{background:color-mix(in srgb, var(--accent) 8%, var(--card))}.search-hit__title{font-weight:700;line-height:1.4}.search-hit__meta{color:var(--coral-deep);font-size:.78rem}.search-empty{color:var(--ink);margin:.85rem .4rem .4rem}body.search-open{overflow:hidden}.skip-link{position:absolute;left:-999px}.skip-link:focus{background:var(--ink);color:var(--bg);z-index:50;border-radius:8px;padding:.4rem .7rem;top:.6rem;left:1rem}:focus-visible{outline:3px solid var(--coral-deep);outline-offset:3px}@media (width<=60rem){.post-shell{grid-template-columns:1fr;gap:0}.sidebar{margin-top:2.5rem;position:static}.post-shell .post{max-width:var(--measure);margin-inline:auto}}@media (width<=54rem){.hero{grid-template-columns:1fr;gap:1.35rem;margin-bottom:2.2rem}.header-bar{flex-wrap:wrap}.site-nav{order:3;width:100%;margin-left:0}.icon-btn{margin-left:auto}}@media (width<=46rem){.wrap,.wrap--wide,.site-header .wrap{width:min(100% - 2rem,72rem)}.card-grid,.card--feature{grid-template-columns:1fr}.card--feature .card__body{padding:.35rem .4rem .55rem}.post-nav{grid-template-columns:1fr}.post-nav__link--next{text-align:left;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.card,.post-nav__link{transition:none}.card:hover,.card:focus-within,.post-nav__link:hover{transform:none}}.hero--guide{grid-template-columns:minmax(15rem,.72fr) minmax(0,1.28fr);align-items:start}.hero--guide .hero__copy{padding-top:1.5rem}.hero--guide h1:after{content:"";background:var(--coral);border-radius:3px;width:3.5rem;height:5px;margin-top:.9rem;display:block}.hero__lead{margin-top:1.6rem;font-weight:650}.hero__paths{flex-wrap:wrap;gap:.5rem;margin:.7rem 0 0;padding:0;list-style:none;display:flex}.hero__paths a{border:2px solid var(--teal);color:var(--ink);background:0 0;border-radius:999px;align-items:baseline;gap:.45rem;padding:.4rem .95rem;font-size:.92rem;font-weight:650;display:inline-flex}.hero__paths a:hover,.hero__paths a:active{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 14%, transparent);color:var(--ink)}.hero__paths span{color:var(--coral-deep);font-variant-numeric:tabular-nums;font-size:.75rem}.guide{background:var(--card);border:1px solid var(--border);border-top:4px solid var(--coral);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;scroll-margin-top:1.5rem;display:flex;overflow:hidden}.guide-grid .guide:nth-child(2n){border-top-color:var(--teal)}.guide__cover{aspect-ratio:16/7;background:var(--sink);display:block;position:relative;overflow:hidden}.guide__cover img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.guide__body{flex-direction:column;flex:1;gap:.6rem;padding:1.1rem 1.25rem 1.25rem;display:flex}.guide__kicker{color:var(--coral-deep);letter-spacing:.02em;align-items:center;gap:.55rem;font-size:.82rem;font-weight:650;display:flex}.guide__number{background:var(--highlight);color:var(--coral-deep);font-variant-numeric:tabular-nums;border-radius:999px;padding:.05rem .5rem;font-size:.75rem;font-weight:750}.guide__title{font-size:clamp(1.3rem,1rem + .8vw,1.6rem);font-weight:750;line-height:1.3}.guide__title a:hover{color:var(--accent-ink)}.guide__intro{color:var(--ink);font-size:.95rem;line-height:1.65}.guide__steps,.guide__picks{margin:.2rem 0 0;padding:0;list-style:none;display:grid}.guide__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.guide__steps a{border:1px solid var(--border);background:var(--sink);border-radius:12px;gap:.6rem;height:100%;padding:.7rem .75rem;transition:border-color .18s;display:flex}.guide__steps a:hover{border-color:var(--accent-ink)}.guide__step-no{color:var(--coral-deep);font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:750;line-height:1.6}.guide__step-text{flex-direction:column;min-width:0;line-height:1.45;display:flex}.guide__step-text strong{font-size:.95rem}.guide__step-text span{color:var(--ink-soft);font-size:.82rem}.guide__picks li{border-top:1px solid var(--border);flex-direction:column;padding-block:.55rem;line-height:1.5;display:flex}.guide__picks a{font-weight:650}.guide__picks a:hover{color:var(--accent-ink)}.guide__picks span{color:var(--ink);font-size:.85rem}.guide__actions{flex-wrap:wrap;gap:.5rem 1.25rem;margin-top:auto;padding-top:.4rem;display:flex}.guide__cta{border:2px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:999px;align-items:center;gap:.4rem;padding:.5rem 1.05rem;font-weight:650;line-height:1.3;display:inline-flex}.guide__cta:hover,.guide__cta:active{background:var(--ink-hover);border-color:var(--ink-hover);color:var(--paper)}.guide__cta--quiet{color:var(--teal);border-color:var(--teal);background:0 0}.guide__cta--quiet:hover,.guide__cta--quiet:active{background:color-mix(in srgb, var(--teal) 14%, transparent);border-color:var(--teal);color:var(--teal)}.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.home-section__head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.home-section__head .home-more{margin-top:0}.home-latest .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=60rem){.home-latest .card-grid{grid-template-columns:1fr}}@media (width<=54rem){.hero--guide{grid-template-columns:1fr}.hero--guide .hero__copy{padding-top:0}}@media (width<=46rem){.guide-grid,.guide__steps{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.guide__steps a{transition:none}}
