Article Post (Community)

A complete blog post for a community running blog. Author-forward header, conversational prose with images, and a social footer with avatar, bio, and tags.

Core: .flow, .cluster, .media, .divider, .badge, .prose

Extras: .avatar

Custom Styles

A few custom styles are included in the page style block used by some of the patterns.

<style>
    .article-author {
        display: flex;
        align-items: center;
        gap: var(--space-2xs);
    }
    .article-meta {
        display: flex;
        align-items: center;
        gap: var(--space-sm);
        flex-wrap: wrap;
        color: var(--color-text-muted);
        font-size: var(--step--1);
    }
    .author-links {
        display: flex;
        gap: var(--space-sm);
        font-size: var(--step--1);
    }
</style>

Full post

Race Report Ultra Trail

My First Ultra: Lessons from 50 Miles of Humility

What I thought I knew about pacing, nutrition, and mental grit turned out to be mostly wrong. Here's what actually worked.


I signed up for the Cascade Crest 100 knowing I'd only run 50 of it. The race offers a 50-mile option that shares the first half of the course, and that felt like enough ambition for someone whose longest run was a road marathon. It was more than enough.

Trail winding through dense Pacific Northwest forest at dawn
The first miles out of Easton felt deceptively easy. Photo by a volunteer I never thanked enough.

The plan versus reality

My plan was simple: run the flats, power-hike the climbs, don't go out too fast. I had a spreadsheet with split targets and a nutrition schedule that called for 250 calories per hour. I'd tested everything in training. I was prepared.

By mile 18, the spreadsheet was fiction. The first major climb took forty minutes longer than I'd planned, and I'd eaten nothing because my stomach was already protesting. I learned later that this is so common it has a name among ultra runners: "the spreadsheet bonfire."

What actually worked

Three things saved my race, and none of them were in my plan:

  • Walking early. I started hiking at mile 10 instead of mile 20 like I'd planned. It felt like giving up. It was the smartest thing I did all day.
  • Eating what sounded good. My carefully measured gels and chews made me nauseous. Boiled potatoes with salt from the aid station at mile 24 brought me back to life.
  • Talking to people. I ran most of my training alone with earbuds. On race day, conversations with other runners got me through the low points better than any playlist could have.

An ultra isn't a long run. It's a series of problems you solve while moving forward.

The last ten miles

I won't sugarcoat it: miles 40 through 50 were the hardest thing I've ever done. My quads were destroyed from the descents. I was moving at a 20-minute pace and it took everything I had. But I was moving, and that was enough.

Runner crossing a wooden footbridge over a mountain stream
The bridge at mile 44. I stopped here for five minutes and considered becoming a permanent resident.

I crossed the finish in 13 hours and 42 minutes. Dead last among the 50-mile finishers. I have never been prouder of anything in my life.

What I'd tell a first-timer

Make a plan, then be ready to throw it away. Train on the terrain you'll race on. Practice eating while moving. And sign up for a race with good aid stations -- the volunteers will save you when your plan won't.

I'm already looking at the 100-mile option for next year. My spreadsheet is going to be much simpler this time.


Race Report Ultra Trail Training
Sarah Chen

Sarah Chen

Ultra runner and physical therapist based in Portland. Chasing mountain summits and sub-24 buckles. Runs with Cascadia Trail Collective.

Published

<docs-resize>
    <article class="flow flow-space-lg" style="max-inline-size: 65ch">

        
        <header class="flow flow-space-sm">
            <div class="cluster gap-2xs">
                <span class="badge is-accent text--2">Race Report</span>
                <span class="badge is-neutral text--2">Ultra</span>
                <span class="badge is-neutral text--2">Trail</span>
            </div>
            <h1 class="text-3 text-semibold leading-tight">My First Ultra: Lessons from 50 Miles of Humility</h1>
            <p class="text-1 text-muted">
                What I thought I knew about pacing, nutrition, and mental grit turned out to be mostly wrong. Here&#39;s what actually worked.
            </p>
            <div class="article-meta">
                <span class="article-author">
                    <span class="avatar is-sm">
                        <img src="https://picsum.photos/seed/runner1/64/64" alt="Sarah Chen"/>
                    </span>
                    <span class="text-medium" style="color: var(--color-text)">Sarah Chen</span>
                </span>
                <span>·</span>
                <time datetime="2026-04-08">April 8, 2026</time>
                <span>·</span>
                <span>12 min read</span>
            </div>
        </header>

        <hr class="divider"/>

        
        <div class="prose">
            <p>
                I signed up for the Cascade Crest 100 knowing I&#39;d only run 50 of it. The race offers a 50-mile option that shares the first half of the course, and that felt like enough ambition for someone whose longest run was a road marathon. It was more than enough.
            </p>

            <figure>
                <img src="https://picsum.photos/seed/trailrun1/800/450" alt="Trail winding through dense Pacific Northwest forest at dawn"/>
                <figcaption>The first miles out of Easton felt deceptively easy. Photo by a volunteer I never thanked enough.</figcaption>
            </figure>

            <h2>The plan versus reality</h2>
            <p>
                My plan was simple: run the flats, power-hike the climbs, don&#39;t go out too fast. I had a spreadsheet with split targets and a nutrition schedule that called for 250 calories per hour. I&#39;d tested everything in training. I was prepared.
            </p>
            <p>
                By mile 18, the spreadsheet was fiction. The first major climb took forty minutes longer than I&#39;d planned, and I&#39;d eaten nothing because my stomach was already protesting. I learned later that this is so common it has a name among ultra runners: &#34;the spreadsheet bonfire.&#34;
            </p>

            <h2>What actually worked</h2>
            <p>
                Three things saved my race, and none of them were in my plan:
            </p>
            <ul>
                <li><strong>Walking early.</strong> I started hiking at mile 10 instead of mile 20 like I&#39;d planned. It felt like giving up. It was the smartest thing I did all day.</li>
                <li><strong>Eating what sounded good.</strong> My carefully measured gels and chews made me nauseous. Boiled potatoes with salt from the aid station at mile 24 brought me back to life.</li>
                <li><strong>Talking to people.</strong> I ran most of my training alone with earbuds. On race day, conversations with other runners got me through the low points better than any playlist could have.</li>
            </ul>

            <blockquote>
                <p>An ultra isn&#39;t a long run. It&#39;s a series of problems you solve while moving forward.</p>
            </blockquote>

            <h2>The last ten miles</h2>
            <p>
                I won&#39;t sugarcoat it: miles 40 through 50 were the hardest thing I&#39;ve ever done. My quads were destroyed from the descents. I was moving at a 20-minute pace and it took everything I had. But I was moving, and that was enough.
            </p>

            <figure>
                <img src="https://picsum.photos/seed/trailrun2/800/450" alt="Runner crossing a wooden footbridge over a mountain stream"/>
                <figcaption>The bridge at mile 44. I stopped here for five minutes and considered becoming a permanent resident.</figcaption>
            </figure>

            <p>
                I crossed the finish in 13 hours and 42 minutes. Dead last among the 50-mile finishers. I have never been prouder of anything in my life.
            </p>

            <h2>What I&#39;d tell a first-timer</h2>
            <p>
                Make a plan, then be ready to throw it away. Train on the terrain you&#39;ll race on. Practice eating while moving. And sign up for a race with good aid stations -- the volunteers will save you when your plan won&#39;t.
            </p>
            <p>
                I&#39;m already looking at the 100-mile option for next year. My spreadsheet is going to be much simpler this time.
            </p>
        </div>

        <hr class="divider"/>

        
        <footer>
            <div class="flow flow-space-md">
                <div class="cluster gap-2xs">
                    <span class="badge is-accent text--2">Race Report</span>
                    <span class="badge is-neutral text--2">Ultra</span>
                    <span class="badge is-neutral text--2">Trail</span>
                    <span class="badge is-neutral text--2">Training</span>
                </div>
                <div class="media" style="--media-gap: var(--space-sm)">
                    <div class="avatar is-lg">
                        <img src="https://picsum.photos/seed/runner1/128/128" alt="Sarah Chen"/>
                    </div>
                    <div class="flow flow-space-2xs">
                        <p class="text-medium">Sarah Chen</p>
                        <p class="text--1 text-muted" style="max-inline-size: 40ch">
                            Ultra runner and physical therapist based in Portland. Chasing mountain summits and sub-24 buckles. Runs with Cascadia Trail Collective.
                        </p>
                        <div class="author-links">
                            <a href="#">Strava</a>
                            <a href="#">All posts</a>
                        </div>
                    </div>
                </div>
                <p class="text--1 text-subtle">
                    Published <time datetime="2026-04-08">April 8, 2026</time>
                </p>
            </div>
        </footer>

    </article>
</docs-resize>

Accessibility