:root{color-scheme:dark;--color-bg:#0b2e24;--color-bg-deep:#082219;--color-surface:#10392d;--color-surface-2:#0d3328;--color-surface-inset:#061a14;--color-border:#2c5f4e;--color-border-strong:#4f8e77;--color-trace:#164536;--color-trace-hot:#1f5c49;--color-text:#eef0e6;--color-text-soft:#dce5df;--color-text-muted:#b9d0c5;--color-text-subtle:#a9c4b7;--color-accent:#e6b450;--color-accent-hover:#f6d58a;--color-accent-contrast:#0b2e24;--color-accent-ink:#3b2a12;--color-accent-text:#e6b450;--color-on-inset:#eef0e6;--color-focus:#e6b450;--color-spark-core:#fff4d6;--color-selection-bg:var(--color-accent);--color-selection-text:var(--color-accent-contrast);--font-sans:var(--font-manrope), system-ui, sans-serif;--font-mono:var(--font-martian-mono), ui-monospace, monospace;--weight-regular:400;--weight-medium:500;--weight-bold:700;--weight-black:800;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.1875rem;--text-xl:1.5rem;--text-2xl:clamp(1.75rem, 1.35rem + 1.4vw, 2.125rem);--text-3xl:clamp(2rem, 1.3rem + 2.6vw, 2.875rem);--text-4xl:clamp(2.5rem, 1.6rem + 3.4vw, 3.875rem);--text-display:clamp(3rem, 1.55rem + 5.6vw, 5.375rem);--leading-tight:1.02;--leading-snug:1.15;--leading-normal:1.6;--leading-prose:1.75;--tracking-display:-.05em;--tracking-heading:-.035em;--tracking-title:-.02em;--tracking-mono:.06em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:5rem;--space-11:6rem;--space-12:8rem;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--max-width:1200px;--measure:68ch;--gutter:clamp(16px, 4vw, 40px);--header-height:72px;--tap-target:44px;--pad-size:18px;--trace-width:8px;--focus-ring:2px solid var(--color-focus);--focus-offset:3px;--glow-sm:drop-shadow(0 0 5px var(--color-accent));--glow-md:drop-shadow(0 0 9px var(--color-accent));--shadow-glow:0 0 8px var(--color-accent);--spark-width:4;--spark-filter:drop-shadow(0 0 5px var(--color-accent));--glow-opacity:.16;--dur-fast:.2s;--dur-base:.3s;--dur-slow:.6s;--dur-spark:1.1s;--dur-pulse:1.2s;--dur-trace-rest:1.5s;--ease-out:cubic-bezier(.2, .7, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .25, 1);--ease-spark:cubic-bezier(.35, .6, .45, 1)}:root[data-theme=light]{color-scheme:light;--color-bg:#e2eee7;--color-bg-deep:#d4e6db;--color-surface:#f2f8f4;--color-surface-2:#d4e6db;--color-surface-inset:#0b2e24;--color-border:#b5d0c1;--color-border-strong:#5f8f78;--color-trace:#cde2d6;--color-trace-hot:#b4d3c2;--color-text:#0b2e24;--color-text-soft:#163f32;--color-text-muted:#2e5345;--color-text-subtle:#3a5d4f;--color-accent:#d9a93a;--color-accent-hover:#533a00;--color-accent-contrast:#0b2e24;--color-accent-ink:#5a4313;--color-accent-text:#6e4e00;--color-on-inset:#eef0e6;--color-focus:#6e4e00;--color-spark-core:#ffe7a8;--spark-width:5;--spark-filter:drop-shadow(0 0 4px var(--color-accent)) drop-shadow(0 0 1px #8a6100);--glow-opacity:.24}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--color-bg:#e2eee7;--color-bg-deep:#d4e6db;--color-surface:#f2f8f4;--color-surface-2:#d4e6db;--color-surface-inset:#0b2e24;--color-border:#b5d0c1;--color-border-strong:#5f8f78;--color-trace:#cde2d6;--color-trace-hot:#b4d3c2;--color-text:#0b2e24;--color-text-soft:#163f32;--color-text-muted:#2e5345;--color-text-subtle:#3a5d4f;--color-accent:#d9a93a;--color-accent-hover:#533a00;--color-accent-contrast:#0b2e24;--color-accent-ink:#5a4313;--color-accent-text:#6e4e00;--color-on-inset:#eef0e6;--color-focus:#6e4e00;--color-spark-core:#ffe7a8;--spark-width:5;--spark-filter:drop-shadow(0 0 4px var(--color-accent)) drop-shadow(0 0 1px #8a6100);--glow-opacity:.24}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--color-border) var(--color-bg)}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;counter-reset:tp;margin:0}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:var(--weight-black);line-height:var(--leading-snug);letter-spacing:var(--tracking-heading);text-wrap:balance}h1{font-size:var(--text-4xl);line-height:var(--leading-tight);letter-spacing:-.045em}h2{font-size:var(--text-3xl);letter-spacing:-.04em}h3{font-size:var(--text-xl);letter-spacing:-.025em}h4{font-size:var(--text-lg);letter-spacing:var(--tracking-title)}img,svg,video,canvas{max-width:100%;display:block}img,video{height:auto}code,kbd,samp,pre{font-family:var(--font-mono)}hr{height:var(--trace-width);margin:var(--space-8) 0;border-radius:calc(var(--trace-width) / 2);background:var(--color-trace);border:0}a{color:var(--color-text);text-decoration-color:var(--color-accent);text-underline-offset:.22em;transition:color var(--dur-fast) ease, text-decoration-color var(--dur-fast) ease;text-decoration-thickness:1px}a:hover{color:var(--color-accent-hover);text-decoration-thickness:2px}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset);border-radius:4px}main:focus{outline:none}::selection{background:var(--color-selection-bg);color:var(--color-selection-text)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--space-2);top:var(--space-2);z-index:100;padding:var(--space-3) var(--space-4);background:var(--color-accent);color:var(--color-accent-contrast);font-weight:var(--weight-black);border-radius:var(--radius-sm);text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus,.skip-link:focus-visible{color:var(--color-accent-contrast);outline-color:var(--color-text);transform:none}.container{width:100%;max-width:var(--max-width);padding-inline:var(--gutter);margin-inline:auto}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-regular);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--color-text-subtle);line-height:1.5}a.eyebrow{color:var(--color-accent-text);text-decoration:none;display:inline-block}a.eyebrow:hover{text-decoration:underline}.meta{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;color:var(--color-text-subtle);line-height:1.6}.meta a{color:var(--color-text-muted)}.meta a:hover{color:var(--color-accent-hover)}.lead,.hero__tagline,.post-summary{max-width:30em;font-size:clamp(1.125rem,1rem + .5vw,1.3125rem);line-height:var(--leading-normal);color:var(--color-text-muted)}.hero h1,.display{max-width:8em;font-size:var(--text-display);letter-spacing:var(--tracking-display);line-height:.96}.hero h1 em,.display em,.text-accent{color:var(--color-accent-text);font-style:normal}.btn{justify-content:center;align-items:center;gap:var(--space-3);min-height:var(--tap-target);padding:.875rem var(--space-5);border-radius:var(--radius-pill);font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-black);cursor:pointer;transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease, border-color var(--dur-fast) ease;border:1.5px solid #0000;line-height:1.2;text-decoration:none;display:inline-flex}.btn--primary{padding:var(--space-2) var(--space-5) var(--space-2) var(--space-2);background:var(--color-accent);color:var(--color-accent-contrast);gap:14px}.btn--primary:before{content:"";background:var(--color-accent-contrast);width:34px;height:34px;box-shadow:inset 0 0 0 11px var(--color-accent-contrast), inset 0 0 0 17px var(--color-accent);transition:filter var(--dur-base) ease;border-radius:50%;flex:none}.btn--primary:hover{background:var(--color-accent-hover);color:var(--color-accent-contrast)}.btn--primary:hover:before{filter:drop-shadow(0 0 6px var(--color-accent-contrast))}.btn--ghost{color:var(--color-text);border-color:var(--color-text);background:0 0}.btn--ghost:hover{color:var(--color-accent-hover);border-color:var(--color-accent-hover)}.chip{align-items:center;gap:var(--space-2);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--weight-regular);letter-spacing:.04em;color:var(--color-text-muted);white-space:nowrap;padding:4px 10px;line-height:1.5;text-decoration:none;display:inline-flex}a.chip,.chip--accent{border-color:var(--color-accent);color:var(--color-accent-text);transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease}a.chip{min-height:32px;padding-inline:12px}a.chip:hover,a.chip[aria-current=page],.chip--filled{background:var(--color-accent);color:var(--color-accent-contrast)}.status{border:1px solid var(--color-accent);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-contrast);font-family:var(--font-mono);font-size:.6875rem;font-weight:var(--weight-medium);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;line-height:1.5;display:inline-flex}.status[data-status=building]{color:var(--color-accent-text);background:0 0}.status[data-status=building]:before{content:"";background:var(--color-accent);width:6px;height:6px;box-shadow:0 0 6px var(--color-accent);border-radius:50%}.status[data-status=paused]{border-color:var(--color-border-strong);color:var(--color-text-muted);background:0 0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);transition:border-color var(--dur-base) ease;position:relative}.card:hover,.card:focus-within{border-color:var(--color-border-strong)}.card :is(h2,h3,h4) a{text-decoration:none}.card :is(h2,h3,h4) a:hover{color:var(--color-accent-hover)}.card p:not(.meta,.eyebrow){color:var(--color-text-muted)}a.card{text-decoration:none;display:block}.project-card__pins{background:var(--color-surface-2)}.project-card :is(h2,h3){letter-spacing:-.03em;font-size:clamp(1.375rem,1.2rem + .6vw,1.625rem)}.pager .card{--hole-ring:var(--color-border);padding:var(--space-5) 1.625rem;border-radius:var(--radius-md);font-size:var(--text-lg);font-weight:var(--weight-black);letter-spacing:var(--tracking-title);background-image:radial-gradient(circle at 13px 13px, var(--color-bg) 0 4px, var(--hole-ring) 4.5px 6px, transparent 6.5px), radial-gradient(circle at calc(100% - 13px) 13px, var(--color-bg) 0 4px, var(--hole-ring) 4.5px 6px, transparent 6.5px), radial-gradient(circle at 13px calc(100% - 13px), var(--color-bg) 0 4px, var(--hole-ring) 4.5px 6px, transparent 6.5px), radial-gradient(circle at calc(100% - 13px) calc(100% - 13px), var(--color-bg) 0 4px, var(--hole-ring) 4.5px 6px, transparent 6.5px);line-height:1.3}.pager .card:hover{--hole-ring:var(--color-accent);color:var(--color-text)}.pager .card .meta{margin-bottom:var(--space-2);font-weight:var(--weight-regular);letter-spacing:var(--tracking-mono);text-transform:uppercase;display:inline-block}.post-row__title{font-size:var(--text-xl);letter-spacing:-.025em}.post-row__title a{text-decoration:none}.post-row__title a:hover{color:var(--color-accent-hover)}.post-row__body>p:not(.meta){color:var(--color-text-muted)}.site-header{background:var(--color-bg);border-bottom:1px solid var(--color-border)}.site-header__brand{align-items:center;gap:var(--space-3);min-height:var(--tap-target);font-size:1.25rem;font-weight:var(--weight-black);letter-spacing:var(--tracking-title);text-decoration:none;display:inline-flex}.site-header__brand:before{content:"";background:radial-gradient(circle, var(--color-bg) 0 5px, var(--color-accent) 5.5px 13px, transparent 13.5px);border-radius:50%;flex:none;width:30px;height:30px}.site-header__brand:hover{color:var(--color-text)}.site-nav a{align-items:center;gap:var(--space-2);min-height:var(--tap-target);padding:var(--space-3) 14px;font-size:.9375rem;font-weight:var(--weight-black);color:var(--color-text-muted);text-decoration:none;display:inline-flex}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--color-text)}.site-nav a[aria-current=page]:before{content:"";background:var(--color-accent);width:8px;height:8px}.site-footer{margin-top:var(--space-11);background:var(--color-bg-deep);border-top:1px solid var(--color-border)}.site-footer a{min-height:var(--tap-target);padding-inline:var(--space-1);font-size:.9375rem;font-weight:var(--weight-black);align-items:center;display:inline-flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.prose{counter-reset:net fig;font-size:var(--text-lg);line-height:var(--leading-prose);color:var(--color-text-soft);overflow-wrap:break-word}.prose>*+*{margin-top:1.25rem}.prose>*+:is(h2){margin-top:var(--space-9)}.prose>*+:is(h3,h4){margin-top:var(--space-7)}.prose>:is(h2,h3,h4)+*{margin-top:var(--space-4)}.prose>*+:is(figure,table,pre,blockquote,.callout,.table-wrap,.table-scroll),.prose>:is(figure,table,pre,blockquote,.callout,.table-wrap,.table-scroll)+*{margin-top:var(--space-6)}.prose :is(h2,h3,h4){color:var(--color-text);scroll-margin-top:var(--space-6)}.prose h2{counter-increment:net;counter-reset:sub;font-size:var(--text-2xl);line-height:var(--leading-snug);letter-spacing:var(--tracking-heading);position:relative}.prose h2:before{content:"N" counter(net, decimal-leading-zero);vertical-align:.3em;background:var(--color-accent);color:var(--color-accent-contrast);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-mono);clip-path:polygon(0 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,0 100%);margin-right:14px;padding:3px 14px 3px 10px;line-height:1.5;display:inline-block}.prose h3{counter-increment:sub;font-size:var(--text-xl);letter-spacing:-.025em}.prose h3:before{content:"N" counter(net, decimal-leading-zero) "." counter(sub);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-regular);letter-spacing:var(--tracking-mono);color:var(--color-accent-text);vertical-align:.25em;margin-right:12px}.prose h4{font-size:var(--text-lg);letter-spacing:var(--tracking-title)}.prose strong{color:var(--color-text);font-weight:var(--weight-bold)}.prose a{color:var(--color-accent-text);text-underline-offset:4px;text-decoration:underline 1px}.prose a:hover{color:var(--color-accent-hover);text-decoration-thickness:2px}.prose :is(ul,ol){padding-left:1.4em}.prose li+li,.prose li>:is(ul,ol){margin-top:.4em}.prose li{padding-left:4px}.prose ul>li::marker{color:var(--color-accent-text)}.prose ol>li::marker{color:var(--color-accent-text);font-family:var(--font-mono);font-size:.8em}.prose li:has(>input[type=checkbox]){margin-left:-1.4em;list-style:none}.prose input[type=checkbox]{accent-color:var(--color-accent);margin-right:.5em}.prose blockquote{font-size:clamp(1.3125rem,1.15rem + .6vw,1.5625rem);font-weight:var(--weight-bold);letter-spacing:var(--tracking-title);color:var(--color-text);padding:4px 0 4px 34px;line-height:1.45;position:relative}.prose blockquote:before{content:"";background:var(--color-trace-hot);border-radius:3px;width:6px;position:absolute;top:10px;bottom:6px;left:4px}.prose blockquote:after{content:"";width:var(--pad-size);height:var(--pad-size);background:var(--color-accent);box-shadow:inset 0 0 0 5px var(--color-accent), inset 0 0 0 9px var(--color-bg);border-radius:50%;position:absolute;top:0;left:-2px}.prose blockquote>*+*{margin-top:var(--space-3)}.prose blockquote :is(cite,footer){font-family:var(--font-mono);font-size:var(--text-xs);font-style:normal;font-weight:var(--weight-regular);letter-spacing:.04em;color:var(--color-text-subtle);display:block}.prose :is(.table-wrap,.table-scroll){border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-mono);color:var(--color-text);font-variant-numeric:tabular-nums;font-size:.8125rem;line-height:1.5}.prose>table{border:1px solid var(--color-border);border-collapse:separate;border-spacing:0;border-radius:var(--radius-lg);background:var(--color-surface)}.prose>table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-lg)}.prose>table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-lg)}.prose caption{padding:var(--space-4) 18px var(--space-2);text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-text);font-size:.6875rem}.prose th{text-align:left;font-weight:var(--weight-medium);color:var(--color-text-subtle);white-space:nowrap;padding:10px 18px}.prose td{border-top:1px solid var(--color-border);vertical-align:top;padding:12px 18px}.prose td:first-child{color:var(--color-accent-text);white-space:nowrap}.prose tbody tr{transition:background-color var(--dur-fast) ease}.prose tbody tr:hover{background:var(--color-surface-2)}@media (width<=720px){.prose>table{border-radius:var(--radius-md);display:block;overflow-x:auto}}.prose img{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface)}.prose figure>img,.prose figure>picture img{width:100%}.prose figcaption{counter-increment:fig;margin-top:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-subtle);line-height:1.6}.prose figcaption:before{content:"FIG. " counter(fig) " — ";color:var(--color-accent-text)}.prose figure:has(pre) figcaption{counter-increment:none}.prose figure:has(pre) figcaption:before{content:none}.prose hr{height:26px;margin-block:var(--space-8);background:radial-gradient(circle, var(--color-bg) 0 5px, var(--color-accent) 5.5px 13px, transparent 13.5px) center / 26px 26px no-repeat, linear-gradient(var(--color-trace), var(--color-trace)) center / 100% var(--trace-width) no-repeat;border:0;border-radius:0}.prose :not(pre)>code{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-accent-hover);overflow-wrap:anywhere;padding:1px 6px;font-size:.8em}.prose kbd{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text);vertical-align:.1em;border-bottom-width:3px;padding:1px 7px;font-size:.75em;line-height:1.5;display:inline-block}.prose dt{font-weight:var(--weight-bold);color:var(--color-text)}.prose dd{margin-left:var(--space-5)}.prose .footnotes{margin-top:var(--space-9);padding-top:var(--space-5);border-top:1px solid var(--color-border);font-size:var(--text-base)}:root{--astro-code-foreground:#e2eae5;--astro-code-background:var(--color-surface-inset);--astro-code-token-keyword:#e6b450;--astro-code-token-function:#f6d58a;--astro-code-token-constant:#7fe0c8;--astro-code-token-string:#a8e0b0;--astro-code-token-string-expression:#a8e0b0;--astro-code-token-parameter:#f2a97e;--astro-code-token-comment:#8fb3a3;--astro-code-token-punctuation:#b9d0c5;--astro-code-token-link:#f6d58a}pre.astro-code,.prose pre{border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--astro-code-foreground);font-family:var(--font-mono);tab-size:2;-webkit-text-size-adjust:none;margin:0;padding:0 0 20px;font-size:.84375rem;line-height:1.75;position:relative;overflow-x:auto;background-color:var(--astro-code-background)!important}pre.astro-code>code,.prose pre>code{width:max-content;min-width:100%;color:inherit;font-size:inherit;background:0 0;border:0;padding:20px 18px 0;display:block}pre.astro-code[data-language]:before,pre.astro-code[data-title]:before{content:attr(data-language);border-bottom:1px solid var(--color-border);background:linear-gradient(var(--color-accent), var(--color-accent)) 18px 50% / 10px 10px no-repeat, var(--color-surface);color:var(--color-text-subtle);font-size:var(--text-xs);letter-spacing:var(--tracking-mono);text-transform:uppercase;padding:10px 18px 10px 38px;line-height:1.6;display:block;position:sticky;left:0}pre.astro-code[data-title]:before{content:attr(data-title);text-transform:none;color:var(--color-text)}pre.astro-code[data-language=plaintext]:before,pre.astro-code[data-language=text]:before{content:none}pre.astro-code[data-language=plaintext]>code,pre.astro-code[data-language=text]>code{padding-top:20px}pre.astro-code .line.highlighted{border-left:3px solid var(--color-accent);background:#e6b45014;min-width:100%;margin-inline:-18px;padding-inline:15px 18px;display:inline-block}.page-shell{flex-direction:column;min-height:100dvh;display:flex}.page-shell>main{flex:1}.site-header__inner{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-4);flex-wrap:wrap;display:flex}.site-header__inner>.site-nav{margin-left:auto}@media (width<=720px){.site-header__inner>.site-nav{flex-basis:100%;order:3;margin-left:0}}.site-nav ul{gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.site-footer__inner{justify-content:space-between;gap:var(--space-4);padding-block:var(--space-8);flex-wrap:wrap;display:flex}.site-footer ul{gap:var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.section{padding-block:var(--space-10)}.section__head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.page-head{padding-block:var(--space-10) var(--space-6)}.page-head>*+*{margin-top:var(--space-3)}.stack>*+*{margin-top:var(--space-4)}.cluster{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.hero{padding-block:var(--space-12)}.hero>*+*{margin-top:var(--space-4)}.hero__actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.post-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.post-row{gap:var(--space-3);padding-block:var(--space-4);border-bottom:1px solid var(--color-border);grid-template-columns:auto 1fr;align-items:start;display:grid}.post-row__body>*+*{margin-top:var(--space-2)}.project-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));margin:0;padding:0;list-style:none;display:grid}.project-card{grid-template-columns:auto 1fr;height:100%;display:grid;overflow:hidden}.project-card__pins{padding:var(--space-2);border-right:1px solid var(--color-border);justify-content:center;align-items:center;display:flex}.project-card__body{gap:var(--space-3);padding:var(--space-4);flex-direction:column;min-width:0;display:flex}.project-card__image{aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-sm);width:100%;height:auto;display:block}.project-card__top{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.filter{margin-bottom:var(--space-6)}.post-header{padding-block:var(--space-10) var(--space-6)}.post-header>*+*{margin-top:var(--space-3)}.post-hero-image{border-radius:var(--radius-md);width:100%;height:auto;margin-bottom:var(--space-8);display:block}.post-header,.post-hero-image,.post-body,.post-footer{max-width:var(--measure);margin-inline:auto}.post-footer{padding-block:var(--space-8)}.post-meta-sep{margin-inline:var(--space-1)}.pager{gap:var(--space-4);margin-top:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.pager a{padding:var(--space-4);display:block}.pager__next{text-align:end}.link-cards{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));margin:0;padding:0;list-style:none;display:grid}.link-cards a{gap:var(--space-2);height:100%;padding:var(--space-6);overflow-wrap:anywhere;flex-direction:column;text-decoration:none;display:flex}.cta{padding:var(--space-8);text-align:center}.cta>*+*{margin-top:var(--space-4)}.cta .hero__actions{justify-content:center}img{max-width:100%}.theme-toggle[data-astro-cid-l6lhmie6]{width:var(--tap-target);height:var(--tap-target);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;transition:color var(--dur-fast) ease, border-color var(--dur-fast) ease;background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle[data-astro-cid-l6lhmie6]:hover{color:var(--color-text);border-color:var(--color-border-strong)}.theme-toggle[data-astro-cid-l6lhmie6]:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.theme-toggle__icon--moon[data-astro-cid-l6lhmie6],:root[data-theme=light] .theme-toggle__icon--sun[data-astro-cid-l6lhmie6]{display:none}:root[data-theme=light] .theme-toggle__icon--moon[data-astro-cid-l6lhmie6]{display:block}@media (prefers-color-scheme:light){:root:not([data-theme=dark]) .theme-toggle__icon--sun[data-astro-cid-l6lhmie6]{display:none}:root:not([data-theme=dark]) .theme-toggle__icon--moon[data-astro-cid-l6lhmie6]{display:block}}
