/* /Components/BodyInfo.razor.rz.scp.css */
.body-info[b-itai9edn8e] {
    font-family: var(--font-body);
    overflow-wrap: anywhere;
}

h2[b-itai9edn8e] {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.1rem, 4vw, 1.75rem);
    font-weight: 400;
    line-height: 1.5;
}

/* The heading takes focus only so screen readers announce the body; it is not a control. */
h2:focus-visible[b-itai9edn8e] {
    outline: none;
}

.body-subtitle[b-itai9edn8e] {
    margin: 0.5rem 0;
}

dl[b-itai9edn8e] {
    margin: 1.5rem 0 0;
}

dt[b-itai9edn8e] {
    margin-top: 1.25rem;
    font-weight: 600;
}

dd[b-itai9edn8e] {
    margin: 0.25rem 0 0;
    font-family: var(--font-body);
}

.body-metric[b-itai9edn8e],
.body-status[b-itai9edn8e] {
    font-family: var(--font-hud);
    font-variant-numeric: tabular-nums;
}

.body-metric[b-itai9edn8e] {
    font-size: 1.25rem;
}

.body-status[b-itai9edn8e],
.body-coming-soon[b-itai9edn8e] {
    color: var(--color-locked);
}

.body-coming-soon[b-itai9edn8e] {
    margin: 1.5rem 0 0;
}

.body-stack[b-itai9edn8e],
.body-comms[b-itai9edn8e] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.body-comms a[b-itai9edn8e] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid var(--color-hud-dim);
}

.body-comms a:hover[b-itai9edn8e] {
    border-color: var(--color-hud);
    background: var(--color-bg);
}

.body-comms svg[b-itai9edn8e] {
    width: 1.5rem;
    height: 1.5rem;
}

.body-card[b-itai9edn8e] {
    display: block;
    border: 1px solid var(--color-hud-dim);
    color: var(--color-text);
    font-family: var(--font-body);
    text-decoration: none;
}

.body-card:hover[b-itai9edn8e],
.body-card:focus-visible[b-itai9edn8e] {
    border-color: var(--color-hud);
}

.body-card:hover h3[b-itai9edn8e],
.body-card:focus-visible h3[b-itai9edn8e] {
    color: var(--color-hud);
    text-decoration: underline;
}

.body-card img[b-itai9edn8e] {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.body-card-content[b-itai9edn8e] {
    padding: 1rem;
}

.body-card h3[b-itai9edn8e] {
    margin: 0;
    font-family: var(--font-body);
    font-size: 1.125rem;
}

.body-card .badge[b-itai9edn8e] {
    margin-bottom: 0.5rem;
}

.body-card p[b-itai9edn8e] {
    margin: 0.5rem 0 0;
    color: var(--color-text-muted);
    font-family: var(--font-body);
}
/* /Components/HudPanel.razor.rz.scp.css */
/* The callouts have no frame, and the bottom sheet runs edge to edge, which would push the corner brackets
   off the screen. */
.hud-panel.hud-frame[b-p7ouub6i6d]::before,
.hud-panel.hud-frame[b-p7ouub6i6d]::after {
    content: none;
}

.hud-back[b-p7ouub6i6d],
.hud-travel[b-p7ouub6i6d] {
    padding: 0.75rem 1.5rem;
    border: 1px solid var(--color-hud-dim);
    background: var(--color-surface);
    color: var(--color-hud);
    font-family: var(--font-hud);
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    cursor: pointer;
    pointer-events: auto;
}

.hud-travel[b-p7ouub6i6d] {
    min-width: 12rem;
}

.hud-back:hover[b-p7ouub6i6d],
.hud-travel:enabled:hover[b-p7ouub6i6d] {
    border-color: var(--color-hud);
    background: var(--color-bg);
}

.hud-travel:disabled[b-p7ouub6i6d] {
    border-color: var(--color-locked);
    color: var(--color-locked);
    cursor: default;
}

/* Wide screens: focusPose centers the body, and each item becomes a callout wired to its edge. */
@media not all and (max-aspect-ratio: 1/1) {
    .hud-panel[b-p7ouub6i6d] {
        /* The body's on-screen radius as framed by focusPose in scene/src/scene/camera.ts. */
        --body-radius: min(20dvh, 11.5vw);
        --callout-inset: calc(50% + var(--body-radius) * 2);
        position: absolute;
        inset: 0;
        pointer-events: none;
        /* Other bodies may drift behind the callouts. */
        text-shadow:
            0 0 0.15rem var(--color-bg),
            0 0 0.4rem var(--color-bg),
            0 0 0.8rem var(--color-bg),
            0 0 1.5rem var(--color-bg);
    }

    .hud-panel.hud-frame[b-p7ouub6i6d] {
        border: 0;
        background: none;
    }

    /* The body's name replaces the site title at the top center. */
    .hud-panel[b-p7ouub6i6d]  header {
        position: absolute;
        top: 3rem;
        left: 50%;
        width: min(40rem, calc(100% - 2rem));
        transform: translateX(-50%);
        text-align: center;
    }

    /* Appear once the camera has arrived (0.8 s), so the lines meet the body. Each body renders its own
       list, so this replays when the focus moves to another body. */
    .hud-panel[b-p7ouub6i6d]  :is(dl, .body-coming-soon) {
        animation: hud-callouts-in-b-p7ouub6i6d 0.4s ease-out 0.6s both;
    }

    /* Each label sits on its line and the value hangs below it, both at the outer end of the line. The line
       runs only as far as the wider of the two, so the callout fits its content. */
    .hud-panel[b-p7ouub6i6d]  :is(.body-item, .body-coming-soon) {
        --label-height: 1.75rem;
        position: absolute;
        top: calc(50% + var(--slot-y) * var(--body-radius) - var(--label-height));
        left: var(--callout-inset);
        width: max-content;
        max-width: min(17rem, calc(50% - var(--body-radius) * 2 - 2rem));
        margin: 0;
        text-align: right;
        pointer-events: auto;
    }

    .hud-panel[b-p7ouub6i6d]  :is(dt, .body-coming-soon) {
        margin: 0;
        padding: 0 0.5rem 0.25rem;
        border-bottom: 1px solid var(--color-hud);
        line-height: 1.5rem;
        white-space: nowrap;
    }

    .hud-panel[b-p7ouub6i6d]  dd {
        margin: 0;
        padding: 0.4rem 0.5rem 0;
    }

    .hud-panel[b-p7ouub6i6d]  .body-item :is(.body-stack, .body-comms) {
        justify-content: flex-end;
    }

    /* Slots: upper left, upper right, lower right, and the last of three or more items at the lower left. */
    .hud-panel[b-p7ouub6i6d]  .body-item:nth-of-type(1) {
        --slot-y: -0.75;
        --slot-angle: 30deg;
    }

    .hud-panel[b-p7ouub6i6d]  .body-item:nth-of-type(2),
    .hud-panel[b-p7ouub6i6d]  .body-coming-soon {
        --slot-y: -0.75;
        --slot-angle: 150deg;
    }

    .hud-panel[b-p7ouub6i6d]  .body-item:nth-of-type(3) {
        --slot-y: 0.75;
        --slot-angle: -150deg;
    }

    .hud-panel[b-p7ouub6i6d]  .body-item:nth-of-type(n + 3):last-of-type {
        --slot-y: 0.75;
        --slot-angle: -30deg;
    }

    .hud-panel[b-p7ouub6i6d]  .body-item:is(:nth-of-type(1), :nth-of-type(n + 3):last-of-type) {
        right: var(--callout-inset);
        left: auto;
        text-align: left;
    }

    .hud-panel[b-p7ouub6i6d]  .body-item:is(:nth-of-type(1), :nth-of-type(n + 3):last-of-type) :is(.body-stack, .body-comms) {
        justify-content: flex-start;
    }

    /* An elbow wires each line to the body's edge: a horizontal stub, then a radial diagonal. */
    .hud-panel[b-p7ouub6i6d]  :is(.body-item, .body-coming-soon)::before,
    .hud-panel[b-p7ouub6i6d]  :is(.body-item, .body-coming-soon)::after {
        position: absolute;
        top: var(--label-height);
        height: 1px;
        background: var(--color-hud);
        content: "";
        pointer-events: none;
    }

    .hud-panel[b-p7ouub6i6d]  :is(.body-item, .body-coming-soon)::before {
        right: 100%;
        width: calc(var(--body-radius) * 0.7);
    }

    .hud-panel[b-p7ouub6i6d]  :is(.body-item, .body-coming-soon)::after {
        left: calc(var(--body-radius) * -0.7);
        width: calc(var(--body-radius) * 0.5);
        transform: rotate(var(--slot-angle));
        transform-origin: 0 50%;
    }

    .hud-panel[b-p7ouub6i6d]  .body-item:is(:nth-of-type(1), :nth-of-type(n + 3):last-of-type)::before {
        right: auto;
        left: 100%;
    }

    .hud-panel[b-p7ouub6i6d]  .body-item:is(:nth-of-type(1), :nth-of-type(n + 3):last-of-type)::after {
        left: calc(100% + var(--body-radius) * 0.7);
    }

    .hud-panel[b-p7ouub6i6d]  .body-card {
        background: var(--color-surface);
        text-align: left;
    }

    .hud-panel[b-p7ouub6i6d]  .body-card img {
        max-height: 22dvh;
    }

    .hud-back[b-p7ouub6i6d] {
        position: fixed;
        right: max(2rem, env(safe-area-inset-right));
        bottom: max(2rem, env(safe-area-inset-bottom));
    }

    .hud-travel[b-p7ouub6i6d] {
        position: fixed;
        bottom: max(2rem, env(safe-area-inset-bottom));
        left: 50%;
        transform: translateX(-50%);
    }
}

@keyframes hud-callouts-in-b-p7ouub6i6d {
    from {
        opacity: 0;
    }
}

/* Portrait screens: the body sits near the top, and the HUD is a bottom sheet. Only the body info scrolls,
   so the buttons stay in view at the bottom of the sheet. */
@media (max-aspect-ratio: 1/1) {
    .hud-panel[b-p7ouub6i6d] {
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex;
        flex-direction: column;
        max-height: 45dvh;
        pointer-events: auto;
    }

    .hud-panel[b-p7ouub6i6d]  .body-info {
        padding: 1.5rem;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .hud-actions[b-p7ouub6i6d] {
        display: flex;
        gap: 0.75rem;
        padding: 0.75rem 1.5rem max(0.75rem, env(safe-area-inset-bottom));
        border-top: 1px solid var(--color-hud-dim);
    }

    .hud-travel[b-p7ouub6i6d] {
        flex: 1;
        min-width: 0;
    }
}
/* /Components/ListHome.razor.rz.scp.css */
.list-home[b-bprgabdxez] {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

article[b-bprgabdxez] {
    min-width: 0;
    padding: clamp(1rem, 4vw, 2rem);
}

footer[b-bprgabdxez] {
    margin-top: 1.75rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--color-hud-dim);
}

.travel[b-bprgabdxez] {
    display: block;
    padding: 0.65rem 1rem;
    border: 1px solid var(--color-hud-dim);
    font-family: var(--font-hud);
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.12em;
}

a.travel:hover[b-bprgabdxez] {
    border-color: var(--color-hud);
    background: var(--color-bg);
}

.travel[aria-disabled="true"][b-bprgabdxez] {
    border-color: var(--color-locked);
    color: var(--color-locked);
}
/* /Components/LostInSpace.razor.rz.scp.css */
.lost-in-space[b-pmd63ldewz] {
    max-width: 72ch;
    margin-inline: auto;
    padding-block: clamp(3rem, 12vh, 8rem);
    text-align: center;
}

h1[b-pmd63ldewz] {
    margin: 0;
    color: var(--color-hud);
    font-family: var(--font-display);
    font-size: clamp(1.5rem, 5vw, 3rem);
    line-height: 1.4;
    letter-spacing: 0.12em;
}

p[b-pmd63ldewz] {
    margin-block: 1.5rem 2.5rem;
    color: var(--color-text-muted);
    font-family: var(--font-body);
}

.return-link[b-pmd63ldewz] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    color: var(--color-hud);
    font-family: var(--font-hud);
    font-weight: 600;
    letter-spacing: 0.12em;
    text-decoration: none;
}

.return-link:hover[b-pmd63ldewz] {
    border-color: var(--color-hud);
    color: var(--color-text);
}
/* /Components/PageHeader.razor.rz.scp.css */
.page-header[b-prbb0fgtrp] {
    margin-bottom: 2rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--color-hud-dim);
}

.hud-label[b-prbb0fgtrp] {
    font-size: 0.875rem;
}

h1[b-prbb0fgtrp] {
    margin: 0.5rem 0 0;
    font-family: var(--font-body);
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: 1.2;
    overflow-wrap: anywhere;
}
/* /Components/PostListItem.razor.rz.scp.css */
.post-list-item[b-vwqiz3yrd8] {
    padding-block: 1.75rem;
    border-bottom: 1px solid var(--color-hud-dim);
    font-family: var(--font-body);
    overflow-wrap: anywhere;
}

.post-meta[b-vwqiz3yrd8] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
}

time[b-vwqiz3yrd8] {
    color: var(--color-text-muted);
    font-family: var(--font-hud);
}

h2[b-vwqiz3yrd8] {
    margin: 0.5rem 0;
    font-family: var(--font-body);
    font-size: 1.5rem;
    line-height: 1.35;
}

h2 a[b-vwqiz3yrd8] {
    color: var(--color-text);
    text-decoration: none;
}

h2 a:hover[b-vwqiz3yrd8] {
    color: var(--color-hud);
    text-decoration: underline;
}

.post-summary[b-vwqiz3yrd8] {
    margin: 0 0 1rem;
    color: var(--color-text-muted);
    font-family: var(--font-body);
}

.post-tags[b-vwqiz3yrd8] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
/* /Components/ProjectCard.razor.rz.scp.css */
.project-card[b-oxwixy2av1] {
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid var(--color-hud-dim);
    background: var(--color-surface);
    color: var(--color-text);
    font-family: var(--font-body);
    text-decoration: none;
    overflow-wrap: anywhere;
}

.project-card:hover[b-oxwixy2av1] {
    border-color: var(--color-hud);
}

.project-card:hover h2[b-oxwixy2av1],
.project-card:focus-visible h2[b-oxwixy2av1] {
    color: var(--color-hud);
    text-decoration: underline;
}

.project-thumbnail[b-oxwixy2av1] {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.project-placeholder[b-oxwixy2av1] {
    position: relative;
    background-color: var(--color-bg);
    background-image:
        linear-gradient(var(--color-hud-dim) 1px, transparent 1px),
        linear-gradient(90deg, var(--color-hud-dim) 1px, transparent 1px);
    background-size: 2rem 2rem;
}

.project-placeholder[b-oxwixy2av1]::after {
    position: absolute;
    inset: 25%;
    border: 1px solid var(--color-hud-dim);
    content: "";
    background:
        linear-gradient(var(--color-hud), var(--color-hud)) center / 1.5rem 1px no-repeat,
        linear-gradient(var(--color-hud), var(--color-hud)) center / 1px 1.5rem no-repeat;
}

.project-card-content[b-oxwixy2av1] {
    padding: 1.5rem;
}

.project-badges[b-oxwixy2av1],
.project-stack[b-oxwixy2av1] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

h2[b-oxwixy2av1] {
    margin: 0.75rem 0;
    font-family: var(--font-body);
    font-size: 1.5rem;
    line-height: 1.35;
}

.project-period[b-oxwixy2av1],
.project-role[b-oxwixy2av1],
.project-summary[b-oxwixy2av1] {
    margin: 0;
    color: var(--color-text-muted);
}

.project-stack[b-oxwixy2av1] {
    margin: 1rem 0;
    padding: 0;
    list-style: none;
}
/* /Components/SignalLost.razor.rz.scp.css */
.signal-lost[b-78xq3z0odp] {
    max-width: 72ch;
    margin-inline: auto;
    padding-block: clamp(3rem, 12vh, 8rem);
    text-align: center;
}

h2[b-78xq3z0odp] {
    margin: 0;
    color: var(--color-danger);
}

p[b-78xq3z0odp] {
    margin-block: 1.5rem 2.5rem;
    color: var(--color-text-muted);
    font-family: var(--font-body);
}

button[b-78xq3z0odp] {
    padding: 0.75rem 1.5rem;
    background: var(--color-surface);
    color: var(--color-hud);
    font-family: var(--font-hud);
    font-weight: 600;
    letter-spacing: 0.12em;
    cursor: pointer;
}

button:hover[b-78xq3z0odp] {
    border-color: var(--color-hud);
    color: var(--color-text);
}
/* /Components/StarSystem.razor.rz.scp.css */
.star-system:focus[b-k8gjysc2bs] {
    outline: none;
}

.scene-host[b-k8gjysc2bs] {
    position: fixed;
    inset: 0;
}

.hud-layer[b-k8gjysc2bs] {
    position: fixed;
    inset: 0;
    z-index: 1;
    padding: 3rem 1rem;
    pointer-events: none;
}

.home-header[b-k8gjysc2bs] {
    text-align: center;
}

h1[b-k8gjysc2bs] {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1rem, 4vw, 2rem);
    font-weight: 400;
    overflow-wrap: anywhere;
}

.home-header p[b-k8gjysc2bs] {
    margin: 0.75rem 0 0;
}

/* On wide screens the HUD shows the focused body's name in the header's place. */
@media not all and (max-aspect-ratio: 1/1) {
    .hud-open .home-header[b-k8gjysc2bs] {
        opacity: 0;
    }
}

.list-fallback[b-k8gjysc2bs] {
    width: min(100%, 46rem);
    margin-inline: auto;
    padding: 3rem 1rem;
}

.list-fallback .hud-layer[b-k8gjysc2bs] {
    position: static;
    padding: 0;
    margin-bottom: 2.5rem;
}
/* /Components/TableOfContents.razor.rz.scp.css */
.toc[b-l3u6exenp8] {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--color-hud-dim);
    background: var(--color-surface);
    font-family: var(--font-body);
}

summary[b-l3u6exenp8],
.toc-label[b-l3u6exenp8] {
    margin: 0;
    color: var(--color-hud);
    font-family: var(--font-hud);
    letter-spacing: 0.12em;
}

summary[b-l3u6exenp8] {
    cursor: pointer;
}

ul[b-l3u6exenp8] {
    margin: 0.75rem 0 0;
    padding: 0;
    list-style: none;
}

li + li[b-l3u6exenp8] {
    margin-top: 0.5rem;
}

.toc-level-3[b-l3u6exenp8] {
    padding-left: 1rem;
}

a[b-l3u6exenp8] {
    color: var(--color-text-muted);
    text-decoration: none;
    overflow-wrap: anywhere;
}

a:hover[b-l3u6exenp8],
a:focus-visible[b-l3u6exenp8] {
    color: var(--color-hud);
    text-decoration: underline;
}

.toc-mobile[b-l3u6exenp8] {
    margin-bottom: 2rem;
}

.toc-desktop[b-l3u6exenp8] {
    display: none;
}

@media (min-width: 1100px) {
    .toc-mobile[b-l3u6exenp8] {
        display: none;
    }

    .toc-desktop[b-l3u6exenp8] {
        display: block;
        position: sticky;
        top: 2rem;
        align-self: start;
        max-height: calc(100dvh - 4rem);
        overflow-y: auto;
    }
}
/* /Components/TopBar.razor.rz.scp.css */
.top-bar[b-e1vouixddw] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.25rem clamp(1rem, 4vw, 4rem);
    border-bottom: 1px solid var(--color-hud-dim);
    background: var(--color-surface);
}

.logo[b-e1vouixddw] {
    flex-shrink: 0;
    color: var(--color-text);
    font-family: var(--font-display);
    font-size: clamp(0.75rem, 1.5vw, 1rem);
    text-decoration: none;
}

nav[b-e1vouixddw] {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 3vw, 2rem);
    font-family: var(--font-hud);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.12em;
}

nav a[b-e1vouixddw] {
    display: inline-flex;
    align-items: center;
    min-height: 2rem;
    border-bottom: 1px solid transparent;
    color: var(--color-text-muted);
    text-decoration: none;
}

nav a:hover[b-e1vouixddw],
nav a:focus-visible[b-e1vouixddw],
nav a.active[b-e1vouixddw] {
    color: var(--color-hud);
}

nav a.active[b-e1vouixddw] {
    border-bottom-color: var(--color-hud);
}

.rss[b-e1vouixddw] {
    justify-content: center;
}

@media (max-width: 600px) {
    .top-bar[b-e1vouixddw] {
        gap: 0.5rem;
        padding: 1rem 0.75rem;
    }

    .logo[b-e1vouixddw] {
        font-size: clamp(0.5rem, 2vw, 0.75rem);
    }

    nav[b-e1vouixddw] {
        gap: 0.5rem;
        font-size: 0.75rem;
    }

    .rss svg[b-e1vouixddw] {
        width: 1rem;
        height: 1rem;
    }
}
/* /Layout/PageLayout.razor.rz.scp.css */
.page-layout[b-k5ls3jotes] {
    min-height: 100dvh;
    background-color: var(--color-bg);
    background-image:
        radial-gradient(circle at 24px 38px, rgba(230, 238, 247, 0.28) 1px, transparent 1.5px),
        radial-gradient(circle at 107px 151px, rgba(95, 212, 255, 0.2) 1px, transparent 1.5px),
        radial-gradient(circle at 193px 83px, rgba(230, 238, 247, 0.16) 0.75px, transparent 1.25px);
    background-size: 307px 293px, 433px 397px, 563px 487px;
}

main[b-k5ls3jotes] {
    width: min(100% - 3rem, 80rem);
    margin-inline: auto;
    padding-block: clamp(3rem, 8vw, 7rem);
}

@media (max-width: 600px) {
    main[b-k5ls3jotes] {
        width: calc(100% - 2rem);
    }
}
/* /Pages/About.razor.rz.scp.css */
.about-page[b-liwe217dzh] {
    max-width: 72ch;
    margin-inline: auto;
    font-family: var(--font-body);
}

.about-title[b-liwe217dzh] {
    margin: 0 0 1rem;
    color: var(--color-text-muted);
    font-size: 1.25rem;
}

.about-stack[b-liwe217dzh],
.comms ul[b-liwe217dzh] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0;
    list-style: none;
}

.about-stack[b-liwe217dzh] {
    margin: 0 0 2.5rem;
}

.comms[b-liwe217dzh] {
    margin-top: 3rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--color-hud-dim);
}

.comms h2[b-liwe217dzh] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.comms a[b-liwe217dzh] {
    font-family: var(--font-hud);
    letter-spacing: 0.12em;
}
/* /Pages/BlogList.razor.rz.scp.css */
.blog-page[b-0xhmo5qtaw] {
    max-width: 72ch;
    margin-inline: auto;
    font-family: var(--font-body);
}

.blog-tags[b-0xhmo5qtaw] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}

.all-posts[b-0xhmo5qtaw] {
    display: inline-block;
    margin-bottom: 0.5rem;
}

.blog-empty[b-0xhmo5qtaw] {
    color: var(--color-text-muted);
}
/* /Pages/BlogPost.razor.rz.scp.css */
.post-layout[b-eg8g62x66m] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    max-width: 72ch;
    margin-inline: auto;
    font-family: var(--font-body);
}

.blog-post[b-eg8g62x66m] {
    display: contents;
}

.post-layout[b-eg8g62x66m]  .page-header {
    grid-column: 1;
    grid-row: 1;
}

.post-layout[b-eg8g62x66m]  .toc-mobile {
    grid-column: 1;
    grid-row: 3;
}

.post-layout[b-eg8g62x66m]  .prose {
    grid-column: 1;
    grid-row: 4;
    min-width: 0;
}

.post-meta[b-eg8g62x66m] {
    margin: 1rem 0;
    color: var(--color-text-muted);
    font-family: var(--font-hud);
}

.post-tags[b-eg8g62x66m] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1rem 0 0;
    padding: 0;
    list-style: none;
}

.post-cover[b-eg8g62x66m] {
    grid-column: 1;
    grid-row: 2;
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 2rem;
}

.all-posts[b-eg8g62x66m] {
    grid-column: 1;
    grid-row: 5;
    justify-self: start;
    display: inline-block;
    margin-top: 2rem;
    font-family: var(--font-hud);
    letter-spacing: 0.12em;
}

@media (min-width: 1100px) {
    .post-layout.has-toc[b-eg8g62x66m] {
        max-width: calc(72ch + 19rem);
        grid-template-columns: minmax(0, 72ch) 16rem;
        column-gap: 3rem;
    }

    .post-layout[b-eg8g62x66m]  .toc-desktop {
        grid-column: 2;
        grid-row: 4 / 6;
    }
}
/* /Pages/ProjectDetail.razor.rz.scp.css */
.project-detail[b-dwt8zg0dan] {
    max-width: 72ch;
    margin-inline: auto;
    font-family: var(--font-body);
    overflow-wrap: anywhere;
}

.project-hero[b-dwt8zg0dan] {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 2rem;
}

.badge-draft[b-dwt8zg0dan] {
    margin-top: 1rem;
}

dl[b-dwt8zg0dan] {
    margin: 0 0 2.5rem;
    padding: 1.5rem;
}

.project-meta-row[b-dwt8zg0dan] {
    display: grid;
    grid-template-columns: 6rem minmax(0, 1fr);
    gap: 1rem;
    align-items: baseline;
}

.project-meta-row + .project-meta-row[b-dwt8zg0dan] {
    margin-top: 1rem;
}

dd[b-dwt8zg0dan] {
    min-width: 0;
    margin: 0;
}

.project-stack[b-dwt8zg0dan],
.project-links[b-dwt8zg0dan] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.project-links[b-dwt8zg0dan] {
    gap: 0.5rem 1rem;
    letter-spacing: 0.12em;
}

@media (max-width: 600px) {
    .project-meta-row[b-dwt8zg0dan] {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.25rem;
    }
}
/* /Pages/ProjectList.razor.rz.scp.css */
.projects-page[b-zl89aq12w4] {
    font-family: var(--font-body);
}

.projects-grid[b-zl89aq12w4] {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.projects-grid > li[b-zl89aq12w4] {
    min-width: 0;
}

.projects-empty[b-zl89aq12w4] {
    color: var(--color-text-muted);
}

@media (min-width: 700px) {
    .projects-grid[b-zl89aq12w4] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1200px) {
    .projects-grid[b-zl89aq12w4] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
