:root {
    --page-bg: #f2f2f0;
    --page-bg-soft: #fbfbf9;
    --panel: rgba(255, 255, 255, 0.74);
    --panel-strong: linear-gradient(150deg, rgba(255, 255, 255, 0.96), rgba(248, 248, 246, 0.9));
    --ink: #111111;
    --muted: #4c4c4c;
    --line: rgba(17, 17, 17, 0.12);
    --line-strong: rgba(17, 17, 17, 0.2);
    --accent: #111111;
    --accent-contrast: #fafaf8;
    --shadow: 0 24px 60px rgba(17, 17, 17, 0.08);
    --background-highlight: rgba(255, 255, 255, 0.92);
    --background-secondary: rgba(218, 218, 218, 0.34);
    --background-tertiary: rgba(200, 214, 232, 0.22);
    --background-quaternary: rgba(237, 207, 219, 0.16);
    --background-base-start: #ffffff;
    --grid-line: rgba(17, 17, 17, 0.03);
    --ambient-highlight: rgba(255, 255, 255, 0.5);
    --ambient-secondary: rgba(208, 208, 208, 0.28);
    --ambient-tertiary: rgba(216, 224, 244, 0.22);
    --ambient-quaternary: rgba(239, 215, 233, 0.18);
    --bg-linear-angle: 180deg;
    --bg-orb-1-x: 0%;
    --bg-orb-1-y: 0%;
    --bg-orb-1-size: 26%;
    --bg-orb-2-x: 82%;
    --bg-orb-2-y: 12%;
    --bg-orb-2-size: 24%;
    --bg-ambient-1-x: 22%;
    --bg-ambient-1-y: 42%;
    --bg-ambient-1-size: 18%;
    --bg-ambient-2-x: 80%;
    --bg-ambient-2-y: 70%;
    --bg-ambient-2-size: 22%;
    --bg-grid-shift-x: 0px;
    --bg-grid-shift-y: 0px;
    --panel-gradient-start: rgba(255, 255, 255, 0.95);
    --panel-gradient-end: rgba(248, 248, 246, 0.92);
    --card-gradient-start: rgba(255, 255, 255, 0.96);
    --card-gradient-end: rgba(245, 245, 243, 0.92);
    --card-surface: linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(245, 245, 243, 0.9));
    --card-border: rgba(17, 17, 17, 0.08);
    --card-glow: rgba(255, 255, 255, 0);
    --palette-stripe: linear-gradient(90deg, #fc1c03 0%, #ff8a00 30%, #ffe66d 60%, #4ecdc4 100%);
    --sidebar-surface: linear-gradient(155deg, #ffd0c7 0%, #ffdba7 48%, #f6c6c6 100%);
    --sidebar-surface-solid: #fc1c03;
    --sidebar-text: #111111;
    --sidebar-muted: rgba(17, 17, 17, 0.82);
    --sidebar-line: rgba(17, 17, 17, 0.18);
    --selected-fill: rgba(17, 17, 17, 0.1);
    --page-width: 96rem;
    --content-width: 68rem;
    --sidebar-column-width: clamp(14rem, 16vw, 17rem);
    --main-column-width: 56rem;
    --layout-gap: clamp(2.5rem, 5vw, 5.5rem);
    --sidebar-shell-left: 2.5vw;
    --sidebar-left-offset: 0px;
    --sidebar-pin-offset: 5vh;
    --sidebar-clearance: calc(var(--sidebar-shell-left) + var(--sidebar-column-width) + var(--layout-gap));
    --legacy-centered-main-width: min(var(--main-column-width), calc(100vw - (2 * var(--sidebar-clearance)) - 2rem));
    --sidebar-item-gap: 0.6rem;
    --sidebar-item-padding-y: 0.45rem;
    --sidebar-item-padding-x: 0.65rem;
    --sidebar-item-font-size: 1rem;
    --sidebar-item-line-height: 1.35;
    --sidebar-scrollbar-size: 0.28rem;
    --sidebar-scrollbar-thumb: rgba(17, 17, 17, 0.28);
}

html {
    scroll-behavior: smooth;
    background: var(--page-bg);
    color-scheme: light;
}

body[data-app-theme="minimal"] {
    position: relative;
    margin: 0;
    min-height: 100vh;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: var(--ink);
    background:
        radial-gradient(circle at var(--bg-orb-1-x) var(--bg-orb-1-y), var(--background-highlight), transparent var(--bg-orb-1-size)),
        radial-gradient(circle at var(--bg-orb-2-x) var(--bg-orb-2-y), var(--background-secondary), transparent var(--bg-orb-2-size)),
        radial-gradient(circle at 18% 82%, var(--background-tertiary), transparent 28%),
        radial-gradient(circle at 92% 72%, var(--background-quaternary), transparent 26%),
        linear-gradient(var(--bg-linear-angle), var(--background-base-start) 0%, var(--page-bg-soft) 34%, var(--page-bg) 100%);
    line-height: 1.65;
    letter-spacing: 0.01em;
    text-rendering: optimizeLegibility;
}

body[data-app-theme="minimal"]::before,
body[data-app-theme="minimal"]::after {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
}

body[data-app-theme="minimal"]::before {
    background-image:
        linear-gradient(var(--grid-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
    background-size: 5rem 5rem;
    background-position:
        var(--bg-grid-shift-x) var(--bg-grid-shift-y),
        var(--bg-grid-shift-x) var(--bg-grid-shift-y);
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.55), transparent 88%);
    opacity: 0.5;
}

body[data-app-theme="minimal"]::after {
    background:
        radial-gradient(circle at var(--bg-ambient-1-x) var(--bg-ambient-1-y), var(--ambient-highlight), transparent var(--bg-ambient-1-size)),
        radial-gradient(circle at var(--bg-ambient-2-x) var(--bg-ambient-2-y), var(--ambient-secondary), transparent var(--bg-ambient-2-size)),
        radial-gradient(circle at 26% 78%, var(--ambient-tertiary), transparent 20%),
        radial-gradient(circle at 86% 32%, var(--ambient-quaternary), transparent 18%);
    filter: blur(56px);
    opacity: 0.62;
}

body[data-app-theme="minimal"] *,
body[data-app-theme="minimal"] *::before,
body[data-app-theme="minimal"] *::after {
    box-sizing: border-box;
}

body[data-app-theme="minimal"] .app-page-shell {
    position: relative;
    z-index: 1;
    width: min(calc(100% - 2rem), var(--page-width));
    margin: 0 auto;
    padding: clamp(1.25rem, 3vw, 2.5rem) 0 clamp(4rem, 8vw, 6rem);
}

body.app-body--report[data-app-theme="minimal"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
}

body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell {
    display: block;
    width: min(calc(100% - 2rem), 92rem);
    margin-left: auto;
    margin-right: auto;
    padding-top: var(--sidebar-pin-offset);
}

body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index {
    position: fixed !important;
    top: var(--sidebar-pin-offset) !important;
    left: var(--sidebar-shell-left) !important;
    margin-left: 0 !important;
    transform: none;
    width: min(var(--sidebar-column-width), calc(100vw - var(--sidebar-shell-left) - 1rem)) !important;
    max-width: calc(100vw - var(--sidebar-shell-left) - 1rem) !important;
    padding: 1.25rem;
    border: 0;
    background: var(--sidebar-surface);
    color: var(--sidebar-text);
    box-shadow: var(--shadow);
    max-height: calc(100vh - (var(--sidebar-pin-offset) * 2));
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
    -ms-overflow-style: none;
}

body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index nav {
    display: grid;
    gap: 0.55rem;
    padding: 0 !important;
}

body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index hr {
    margin: 1rem 0;
    border: 0;
    border-top: 1px solid var(--sidebar-line);
}

body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index a {
    width: 100%;
    padding: 0.45rem 0.65rem;
    margin: 0 -0.65rem;
    border-bottom-color: transparent !important;
    color: var(--sidebar-muted);
    line-height: 1.35;
}

body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index a:hover,
body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index a:focus-visible {
    background: var(--accent) !important;
    color: var(--accent-contrast) !important;
    border-bottom-color: transparent !important;
}

body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .main-text {
    width: min(100%, var(--legacy-centered-main-width)) !important;
    max-width: var(--legacy-centered-main-width);
    min-width: 0;
    margin: 0 auto !important;
}

body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .main-text h1 {
    font-size: clamp(2.2rem, 4.8vw, 4.2rem);
    line-height: 1.04;
    max-width: 18ch;
}

body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .main-text h2 {
    font-size: clamp(1.45rem, 2.8vw, 2.2rem);
    line-height: 1.08;
}

body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .main-text h3 {
    font-size: clamp(1.05rem, 1.8vw, 1.4rem);
}

body.app-body--report.app-body--report-standalone[data-app-theme="minimal"] .app-page-shell {
    width: min(calc(100% - 2rem), 62rem);
}

body.app-body--report.app-body--report-standalone[data-app-theme="minimal"] h1 {
    font-size: clamp(2.2rem, 5.5vw, 4rem);
    line-height: 1.05;
    max-width: 18ch;
}

body[data-app-theme="minimal"] h1,
body[data-app-theme="minimal"] h2,
body[data-app-theme="minimal"] h3,
body[data-app-theme="minimal"] h4,
body[data-app-theme="minimal"] h5,
body[data-app-theme="minimal"] h6 {
    margin: 0;
    color: var(--ink);
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -0.03em;
}

body[data-app-theme="minimal"] h1 {
    font-size: clamp(3.4rem, 9vw, 7rem);
}

body[data-app-theme="minimal"] h2 {
    font-size: clamp(1.75rem, 2.8vw, 2.8rem);
    margin-bottom: 0.85rem;
}

body[data-app-theme="minimal"] h3 {
    font-size: clamp(1.15rem, 1.6vw, 1.5rem);
    margin-bottom: 0.65rem;
}

body[data-app-theme="minimal"] h4,
body[data-app-theme="minimal"] h5,
body[data-app-theme="minimal"] h6 {
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.04em;
}

body[data-app-theme="minimal"] p,
body[data-app-theme="minimal"] li,
body[data-app-theme="minimal"] td,
body[data-app-theme="minimal"] th,
body[data-app-theme="minimal"] ol,
body[data-app-theme="minimal"] ul,
body[data-app-theme="minimal"] blockquote,
body[data-app-theme="minimal"] figcaption {
    font-size: clamp(0.98rem, 1vw, 1.08rem);
}

body[data-app-theme="minimal"] p,
body[data-app-theme="minimal"] li,
body[data-app-theme="minimal"] blockquote,
body[data-app-theme="minimal"] figcaption {
    color: var(--muted);
}

body[data-app-theme="minimal"] p,
body[data-app-theme="minimal"] ul,
body[data-app-theme="minimal"] ol,
body[data-app-theme="minimal"] table,
body[data-app-theme="minimal"] blockquote,
body[data-app-theme="minimal"] figure {
    margin: 0 0 1.25rem;
}

body[data-app-theme="minimal"] a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition:
        color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease,
        background-color 180ms ease;
}

body[data-app-theme="minimal"] a:hover,
body[data-app-theme="minimal"] a:focus-visible {
    color: var(--ink);
    border-bottom-color: currentColor;
}

body[data-app-theme="minimal"] hr {
    border: 0;
    border-top: 1px solid var(--line);
    margin: 2.5rem 0;
}

body[data-app-theme="minimal"] img {
    display: block;
    max-width: 100%;
    height: auto;
}

body[data-app-theme="minimal"] table {
    width: 100%;
    border-collapse: collapse;
}

body[data-app-theme="minimal"] th,
body[data-app-theme="minimal"] td {
    padding: 0.8rem 0.4rem;
    border-bottom: 1px solid var(--line);
    text-align: left;
    vertical-align: top;
}

body.app-body--main[data-app-theme="minimal"] .app-page-shell {
    display: block;
    width: min(calc(100% - 2rem), var(--page-width));
    margin-left: auto;
    margin-right: auto;
    padding-top: var(--sidebar-pin-offset);
}

body.app-body--simple[data-app-theme="minimal"] .app-page-shell {
    width: min(calc(100% - 2rem), 86rem);
}

.app-index {
    position: fixed;
    top: var(--sidebar-pin-offset);
    left: var(--sidebar-shell-left);
    width: min(var(--sidebar-column-width), calc(100vw - var(--sidebar-shell-left) - 1rem));
    transform: none;
}

.app-index__inner {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 1rem;
    align-content: start;
    padding: 1.4rem;
    border: 0;
    background: var(--sidebar-surface);
    color: var(--sidebar-text);
    box-shadow: var(--shadow);
    backdrop-filter: blur(16px);
    max-height: calc(100vh - (var(--sidebar-pin-offset) * 2));
    overflow: hidden;
}

.app-index__fixed {
    display: grid;
    gap: 1rem;
}

.app-index__scroll {
    margin-top: 0.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--sidebar-line);
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: transparent transparent;
    -ms-overflow-style: none;
}

.app-index:hover .app-index__scroll,
.app-index:focus-within .app-index__scroll,
body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index:hover,
body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index:focus-within {
    scrollbar-color: var(--sidebar-scrollbar-thumb) transparent;
}

.app-index__scroll::-webkit-scrollbar,
body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index::-webkit-scrollbar {
    width: var(--sidebar-scrollbar-size);
    height: var(--sidebar-scrollbar-size);
}

.app-index__scroll::-webkit-scrollbar-button,
body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index::-webkit-scrollbar-button,
.app-index__scroll::-webkit-scrollbar-button:single-button,
body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index::-webkit-scrollbar-button:single-button,
.app-index__scroll::-webkit-scrollbar-button:start:decrement,
.app-index__scroll::-webkit-scrollbar-button:end:increment,
body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index::-webkit-scrollbar-button:start:decrement,
body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index::-webkit-scrollbar-button:end:increment {
    display: none;
    width: 0;
    height: 0;
    background: transparent;
}

.app-index__scroll::-webkit-scrollbar-track,
body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index::-webkit-scrollbar-track {
    background: transparent;
}

.app-index__scroll::-webkit-scrollbar-thumb,
body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index::-webkit-scrollbar-thumb {
    background: transparent;
    border-radius: 999px;
}

.app-index:hover .app-index__scroll::-webkit-scrollbar-thumb,
.app-index:focus-within .app-index__scroll::-webkit-scrollbar-thumb,
body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index:hover::-webkit-scrollbar-thumb,
body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index:focus-within::-webkit-scrollbar-thumb {
    background: var(--sidebar-scrollbar-thumb);
}

.app-index__scroll::-webkit-scrollbar-corner,
body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index::-webkit-scrollbar-corner {
    background: transparent;
}

.app-index__brand {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 0;
    border: 0;
    padding: 0.3rem 0.65rem;
    margin-left: -0.65rem;
    background: var(--accent) !important;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: clamp(1.9rem, 2.8vw, 2.6rem);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 0.98;
    color: var(--accent-contrast) !important;
    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease;
}

body[data-app-theme="minimal"] .app-index__brand:hover,
body[data-app-theme="minimal"] .app-index__brand:focus-visible {
    background: var(--sidebar-surface) !important;
    color: var(--sidebar-text) !important;
    border-bottom-color: transparent !important;
}

.app-index__label,
.app-site-note,
.app-card-meta,
.app-meta-left,
.app-meta-right,
.app-card-date,
.app-simple-nav a,
.app-section-kicker,
.app-feature-card__footer,
.app-item-number,
.app-hero__status {
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: none;
}

.app-index__section + .app-index__section {
    margin-top: 0.25rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--sidebar-line);
}

.app-index__label {
    display: block;
    margin-bottom: 0.75rem;
    color: var(--sidebar-muted);
}

.app-index__nav,
.app-simple-nav {
    display: grid;
    gap: var(--sidebar-item-gap);
}

.app-index__nav a {
    display: block;
    width: 100%;
    padding: var(--sidebar-item-padding-y) var(--sidebar-item-padding-x);
    margin: 0 calc(-1 * var(--sidebar-item-padding-x));
    border-bottom-color: transparent !important;
    color: var(--sidebar-muted);
    font-size: var(--sidebar-item-font-size);
    line-height: var(--sidebar-item-line-height);
    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease;
}

.app-primary-nav .app-nav-item {
    display: block;
    width: 100%;
    padding: var(--sidebar-item-padding-y) var(--sidebar-item-padding-x);
    margin: 0 calc(-1 * var(--sidebar-item-padding-x));
    border-bottom: 1px solid transparent;
    color: var(--sidebar-muted);
    font-size: var(--sidebar-item-font-size);
    line-height: var(--sidebar-item-line-height);
    white-space: nowrap;
    transition:
        color 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease;
}

.app-primary-nav .app-nav-item--current {
    background: var(--selected-fill);
    color: var(--sidebar-text);
    font-weight: 700;
    cursor: default;
    pointer-events: none;
    user-select: none;
}

.app-primary-nav .app-nav-label {
    display: inline-block;
    min-width: 0;
}

body[data-app-theme="minimal"] .app-index__nav a:hover,
body[data-app-theme="minimal"] .app-index__nav a:focus-visible {
    background: var(--accent);
    color: var(--accent-contrast);
    border-bottom-color: transparent !important;
}

body[data-app-theme="minimal"] .app-primary-nav a.app-nav-item:hover,
body[data-app-theme="minimal"] .app-primary-nav a.app-nav-item:focus-visible {
    background: var(--accent);
    color: var(--accent-contrast);
    border-bottom-color: transparent !important;
}

.app-index__nav a[aria-current="page"] {
    background: var(--selected-fill);
    color: var(--sidebar-text);
}

.app-simple-nav a[aria-current="page"] {
    color: var(--ink);
}

.app-main-text {
    width: 100%;
    max-width: var(--main-column-width);
    margin: 0 auto;
}

.app-main-text > :last-child {
    margin-bottom: 0;
}

.app-main-text--simple {
    max-width: var(--content-width);
}

body[data-app-theme="minimal"] .app-main-text h1 {
    max-width: 10ch;
}

.app-hero {
    display: grid;
    gap: 1.25rem;
    padding: 0.2rem 0 2.25rem;
}

.app-hero--landing {
    min-height: 0;
    align-content: start;
}

.app-hero--compact {
    padding-bottom: 1.8rem;
}

.app-hero__status {
    display: inline-flex;
    width: fit-content;
    margin: 0;
    color: var(--muted);
}

.app-button-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.app-link-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: 0.85rem 1.15rem;
    border: 1px solid var(--line-strong);
    background: var(--accent);
    color: var(--accent-contrast) !important;
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.04em;
    text-transform: none;
}

.app-link-button:hover,
.app-link-button:focus-visible {
    transform: translateY(-2px);
    border-bottom-color: transparent !important;
}

.app-link-button--ghost {
    background: transparent;
    color: var(--ink) !important;
}

.app-link-button--ghost:hover,
.app-link-button--ghost:focus-visible {
    background: var(--accent);
    color: var(--accent-contrast) !important;
}

body[data-app-theme="minimal"] .app-site-note {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--line-strong);
    background: linear-gradient(145deg, var(--panel-gradient-start), var(--panel-gradient-end));
    color: var(--ink);
}

.app-section {
    padding-top: 2.75rem;
    border-top: 1px solid var(--line);
    scroll-margin-top: 2rem;
}

.app-section-heading {
    display: grid;
    gap: 0.55rem;
    margin-bottom: 1.35rem;
    max-width: 48rem;
}

.app-section-kicker {
    color: var(--muted);
}

.app-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.app-feature-card,
.app-entry-card,
.app-portfolio-item,
.app-showcase-card {
    position: relative;
    display: grid;
    gap: 0.9rem;
    padding: 1.35rem;
    border: 1px solid var(--card-border);
    background: linear-gradient(145deg, var(--card-gradient-start), var(--card-gradient-end));
    box-shadow: var(--shadow);
    overflow: hidden;
    transition:
        transform 180ms ease,
        box-shadow 180ms ease;
}

.app-portfolio-item,
.app-showcase-card {
    padding-left: 1.35rem;
    padding-bottom: 3.75rem;
}

.app-portfolio-item > :not(.app-card-date),
.app-showcase-card > :not(.app-card-date) {
    padding-left: 5%;
    padding-right: 5%;
}

.app-feature-card:hover,
.app-entry-card:hover,
.app-portfolio-item:hover,
.app-showcase-card:hover {
    transform: translateY(-4px);
}

.app-feature-card__index,
.app-item-number {
    color: var(--muted);
}

.app-feature-card__footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: auto;
    color: var(--muted);
}

.app-feature-card__footer a {
    color: var(--ink);
}

.app-entry-list > * {
    padding: 1.5rem 0 1.8rem;
    border-top: 1px solid var(--line);
    scroll-margin-top: 2rem;
}

.app-entry-list > *:first-child {
    padding-top: 0.2rem;
}

.app-card-meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin-bottom: 0;
    color: var(--muted);
}

.app-card-meta a {
    color: var(--ink);
}

.app-card-meta--portfolio {
    justify-content: flex-end;
}

.app-card-meta--portfolio a,
.app-card-meta--showcase a {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.65rem;
    margin-right: -0.65rem;
    border-bottom-color: transparent !important;
}

body[data-app-theme="minimal"] .app-card-meta--portfolio a:hover,
body[data-app-theme="minimal"] .app-card-meta--portfolio a:focus-visible,
body[data-app-theme="minimal"] .app-card-meta--showcase a:hover,
body[data-app-theme="minimal"] .app-card-meta--showcase a:focus-visible {
    background: var(--accent);
    color: var(--accent-contrast);
    border-bottom-color: transparent !important;
}

.app-card-meta--showcase {
    align-items: start;
}

.app-card-meta--action-only {
    justify-content: flex-end;
}

.app-card-kicker {
    display: inline-block;
    color: var(--muted);
}

.app-card-date {
    position: absolute;
    right: calc(1.35rem + 5%);
    bottom: 1.35rem;
    display: inline-block;
    white-space: nowrap;
    color: var(--muted);
}

.app-portfolio-head {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: start;
}

body[data-app-theme="minimal"] .app-entry-card h2,
body[data-app-theme="minimal"] .app-portfolio-item h2,
body[data-app-theme="minimal"] .app-showcase-card h2 {
    font-size: clamp(1.4rem, 2.2vw, 2rem);
    max-width: 26ch;
}

body[data-app-theme="minimal"] .app-entry-card h3 {
    font-size: clamp(1.2rem, 1.8vw, 1.55rem);
}

.app-meta-grid,
.grid-container.app-meta-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.7rem 1rem;
    padding-top: 0.9rem;
    margin: 0;
    border-top: 1px solid var(--line);
}

.app-meta-left,
.app-meta-right {
    color: var(--muted);
}

.app-meta-right {
    text-align: right;
}

.app-portfolio-item p,
.app-showcase-card p {
    max-width: 56ch;
}

.app-simple-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
}

.app-simple-nav a {
    width: fit-content;
    color: var(--muted);
    line-height: 1.4;
}

.app-sidebar-nav {
    gap: var(--sidebar-item-gap);
    padding: 0 !important;
}

.app-sidebar-nav .toc-link {
    display: block;
    font-size: var(--sidebar-item-font-size);
    line-height: var(--sidebar-item-line-height);
}

.app-sidebar-nav .toc-group {
    border: 0;
    border-radius: 0;
    background: transparent;
    overflow: visible;
    box-shadow: none;
}

.app-sidebar-nav .toc-group__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin: 0 calc(-1 * var(--sidebar-item-padding-x));
    padding: var(--sidebar-item-padding-y) var(--sidebar-item-padding-x);
    cursor: pointer;
    list-style: none;
    color: var(--sidebar-muted);
    font-size: var(--sidebar-item-font-size);
    font-weight: 400;
    line-height: var(--sidebar-item-line-height);
    border-radius: 0;
    transition:
        color 180ms ease,
        background-color 180ms ease;
}

.app-sidebar-nav .toc-group__summary::-webkit-details-marker {
    display: none;
}

.app-sidebar-nav .toc-group__summary::after {
    content: "+";
    flex: 0 0 auto;
    font-size: 1rem;
    line-height: 1;
}

.app-sidebar-nav .toc-group[open] .toc-group__summary::after {
    content: "-";
}

body[data-app-theme="minimal"] .app-sidebar-nav .toc-group__summary:hover,
body[data-app-theme="minimal"] .app-sidebar-nav .toc-group__summary:focus-visible {
    outline: none;
    background: var(--accent);
    color: var(--accent-contrast);
    border-bottom-color: transparent !important;
}

.app-sidebar-nav .toc-group[open] .toc-group__summary {
    color: var(--sidebar-text);
    font-weight: 700;
}

body[data-app-theme="minimal"] .app-sidebar-nav .toc-group[open] .toc-group__summary:hover,
body[data-app-theme="minimal"] .app-sidebar-nav .toc-group[open] .toc-group__summary:focus-visible {
    color: var(--accent-contrast);
}

.app-sidebar-nav .toc-group__links {
    display: grid;
    gap: var(--sidebar-item-gap);
    padding: var(--sidebar-item-gap) 0;
}

.app-sidebar-nav .toc-group__links a {
    width: 100%;
    margin: 0 calc(-1 * var(--sidebar-item-padding-x));
    padding: var(--sidebar-item-padding-y) var(--sidebar-item-padding-x);
    border-radius: 0;
}

.app-sidebar-nav .toc-group__links .toc-link--section {
    color: var(--sidebar-muted);
    font-size: var(--sidebar-item-font-size);
    font-weight: 400;
    line-height: var(--sidebar-item-line-height);
}

body[data-app-theme="minimal"] .app-sidebar-nav .toc-group__links .toc-link--section:hover,
body[data-app-theme="minimal"] .app-sidebar-nav .toc-group__links .toc-link--section:focus-visible {
    background: var(--accent);
    color: var(--accent-contrast);
    border-bottom-color: transparent !important;
}

.app-sidebar-nav .toc-link--subsection {
    padding-left: calc(var(--sidebar-item-padding-x) + 0.65rem) !important;
    font-size: var(--sidebar-item-font-size) !important;
    line-height: var(--sidebar-item-line-height) !important;
}

body[data-app-theme="minimal"] .app-sidebar-nav .toc-link:hover,
body[data-app-theme="minimal"] .app-sidebar-nav .toc-link:focus-visible {
    background: var(--accent);
    color: var(--accent-contrast) !important;
    border-bottom-color: transparent !important;
}

@media (max-width: 1200px) {
    :root {
        --legacy-centered-main-width: 100%;
    }

    body.app-body--main[data-app-theme="minimal"] .app-page-shell,
    body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell {
        width: min(calc(100% - 2rem), var(--page-width));
        margin-left: auto;
        margin-right: auto;
        padding-top: 0;
    }

    body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index {
        position: static !important;
        left: auto !important;
        transform: none;
        width: auto !important;
        max-width: none !important;
    }

    .app-index {
        position: static;
        left: auto;
        width: auto;
        transform: none;
    }

    .app-index__inner,
    .app-index__scroll,
    body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index {
        max-height: none;
        overflow: visible;
        scrollbar-width: auto;
        scrollbar-color: auto;
    }
}

@media (max-width: 960px) {
    body.app-body--main[data-app-theme="minimal"] .app-page-shell {
        width: min(calc(100% - 2rem), var(--page-width));
        margin-left: auto;
        margin-right: auto;
        padding-top: 0;
    }

    body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell {
        width: min(calc(100% - 2rem), var(--page-width));
        margin-left: auto;
        margin-right: auto;
        padding-top: 0;
    }

    body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index {
        position: static !important;
        left: auto !important;
        transform: none;
        width: auto !important;
        max-width: none !important;
    }

    .app-index {
        position: static;
        left: auto;
        width: auto;
        transform: none;
    }

    .app-index__inner,
    .app-index__scroll,
    body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell > .index,
    .app-entry-card,
    .app-portfolio-item,
    .app-showcase-card,
    .app-feature-card {
        padding: 1rem;
    }

    .app-main-text,
    .app-main-text--simple {
        max-width: none;
    }

    .app-feature-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    body[data-app-theme="minimal"] .app-page-shell {
        width: min(calc(100% - 1rem), var(--page-width));
        padding-top: clamp(1.25rem, 3vw, 2.5rem);
    }

    body.app-body--report.app-body--report-standalone[data-app-theme="minimal"] .app-page-shell,
    body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .app-page-shell {
        width: min(calc(100% - 1rem), var(--page-width));
    }

    body[data-app-theme="minimal"] h1 {
        font-size: clamp(3rem, 15vw, 5rem);
    }

    body[data-app-theme="minimal"] h2 {
        font-size: clamp(1.7rem, 8vw, 2.4rem);
    }

    .app-index__label,
    .app-site-note,
    .app-card-meta,
    .app-meta-left,
    .app-meta-right,
    .app-simple-nav a,
    .app-section-kicker,
    .app-feature-card__footer,
    .app-item-number,
    .app-hero__status {
        letter-spacing: 0.05em;
    }

    .app-meta-grid,
    .grid-container.app-meta-grid {
        grid-template-columns: 1fr;
    }

    .app-meta-right {
        text-align: left;
    }

    .app-simple-nav,
    .app-button-row {
        gap: 0.65rem 0.9rem;
    }

    .app-portfolio-head {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
    body.app-body--report.app-body--report-indexed[data-app-theme="minimal"] .main-text h1,
    body.app-body--report.app-body--report-standalone[data-app-theme="minimal"] h1 {
        max-width: none;
    }
}

body.app-lightbox-open {
    overflow: hidden;
}

/* Final sidebar normalization so old shared/page-local styles cannot skew nav rhythm on specific views. */
body[data-app-theme="minimal"] .app-index__nav,
body[data-app-theme="minimal"] .app-simple-nav,
body[data-app-theme="minimal"] .app-primary-nav,
body[data-app-theme="minimal"] .app-sidebar-nav {
    padding: 0 !important;
    margin: 0 !important;
    gap: var(--sidebar-item-gap) !important;
}

body[data-app-theme="minimal"] .app-primary-nav .app-nav-item,
body[data-app-theme="minimal"] .app-simple-nav a,
body[data-app-theme="minimal"] .app-sidebar-nav .toc-group__summary,
body[data-app-theme="minimal"] .app-sidebar-nav .toc-group__links a,
body[data-app-theme="minimal"] .app-sidebar-nav .toc-link--subsection {
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-size: var(--sidebar-item-font-size) !important;
    line-height: var(--sidebar-item-line-height) !important;
    letter-spacing: normal !important;
}

body[data-app-theme="minimal"] .app-primary-nav .app-nav-item,
body[data-app-theme="minimal"] .app-simple-nav a,
body[data-app-theme="minimal"] .app-sidebar-nav .toc-group__summary,
body[data-app-theme="minimal"] .app-sidebar-nav .toc-group__links a,
body[data-app-theme="minimal"] .app-sidebar-nav > .toc-link {
    margin: 0 calc(-1 * var(--sidebar-item-padding-x)) !important;
    padding: var(--sidebar-item-padding-y) var(--sidebar-item-padding-x) !important;
    width: calc(100% + var(--sidebar-item-padding-x)) !important;
}

body[data-app-theme="minimal"] .app-sidebar-nav .toc-group__links {
    gap: var(--sidebar-item-gap) !important;
    padding: var(--sidebar-item-gap) 0 !important;
}

body[data-app-theme="minimal"] .app-sidebar-nav .toc-link,
body[data-app-theme="minimal"] .app-sidebar-nav .toc-group__summary,
body[data-app-theme="minimal"] .app-sidebar-nav .toc-group__links .toc-link--section,
body[data-app-theme="minimal"] .app-sidebar-nav .toc-link--subsection {
    color: var(--sidebar-muted) !important;
}

body[data-app-theme="minimal"] .app-sidebar-nav .toc-group[open] .toc-group__summary {
    color: var(--sidebar-text) !important;
}

body[data-app-theme="minimal"] .app-sidebar-nav .toc-link--subsection {
    padding-left: calc(var(--sidebar-item-padding-x) + 0.65rem) !important;
}

.app-lightbox[hidden] {
    display: none;
}

.app-lightbox {
    position: fixed;
    inset: 0;
    z-index: 12000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(17, 17, 17, 0.54);
}

.app-lightbox__dialog {
    display: grid;
    gap: 0.75rem;
    max-width: min(94vw, 1400px);
    max-height: calc(100vh - 48px);
    outline: none;
}

.app-lightbox__content {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
}

.app-lightbox__media {
    display: block;
    max-width: min(92vw, 1400px);
    max-height: calc(100vh - 120px);
    width: auto;
    height: auto;
    margin: 0;
}

.app-lightbox__media--framed {
    padding: 12px;
    border: 1px solid rgba(17, 17, 17, 0.12);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
}

.app-lightbox__caption {
    margin: 0 auto;
    max-width: min(88vw, 960px);
    color: #f3f3f1;
    font-size: 12px;
    line-height: 1.5;
    text-align: center;
}

.app-lightbox-target {
    cursor: zoom-in;
}

.app-lightbox-target:focus {
    outline: 2px solid var(--ink);
    outline-offset: 4px;
}

@media (max-width: 720px) {
    .app-lightbox {
        padding: 14px;
    }

    .app-lightbox__media {
        max-width: calc(100vw - 28px);
        max-height: calc(100vh - 104px);
    }
}

