:root{--color-bg:#fff;--color-text:#1a1a1a;--color-muted:#6b6b6b;--color-accent:#2f5d3f;--color-border:#e6e2dc;--font-body:"Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-ui:"Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--content-width:62rem;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:16px;--radius-pill:999px;--surface-tint:color-mix(in srgb, var(--color-text) 4%, var(--color-bg));--surface-tint-hover:color-mix(in srgb, var(--color-text) 7%, var(--color-bg));--thumb-backdrop:#f2efe9;--stamp:#c1683e;--focus-ring:2px solid var(--color-accent);--focus-offset:2px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-16:4rem;--ease:ease;--dur-fast:.15s;--dur-slow:.3s}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#16140f;--color-text:#ece7dd;--color-muted:#a39d8f;--color-accent:#7cb88f;--color-border:#33301f}}:root[data-theme=dark]{--color-bg:#16140f;--color-text:#ece7dd;--color-muted:#a39d8f;--color-accent:#7cb88f;--color-border:#33301f}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);margin:0;font-size:1.125rem;line-height:1.6}h1,h2,h3{line-height:1.2}:is(a,button,select,summary,[tabindex]):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}a{color:var(--color-accent)}.site-header{max-width:var(--content-width);padding:var(--space-6) var(--space-4);font-family:var(--font-ui);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.site-title{color:var(--color-text);align-items:center;text-decoration:none;display:inline-flex}.site-logo{background-color:currentColor;width:6.5rem;height:3rem;display:inline-block;-webkit-mask-image:url(/logo-lockup.png);mask-image:url(/logo-lockup.png);-webkit-mask-position:0;mask-position:0;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.site-header nav{align-items:center;gap:var(--space-5);display:flex}.site-header nav a{color:var(--color-text);font-size:.95rem;text-decoration:none}.site-header nav a:hover{color:var(--color-accent)}.theme-toggle{width:1.1rem;height:1.1rem;display:inline-flex;position:relative}.theme-btn{color:var(--color-text);cursor:pointer;background:0 0;border:none;margin:0;padding:0;display:none;position:absolute;inset:0}.theme-btn svg{width:100%;height:100%}.theme-btn:hover{color:var(--color-accent)}.theme-btn[data-theme-choice=dark]{display:flex}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-btn[data-theme-choice=dark]{display:none}:root:not([data-theme=light]) .theme-btn[data-theme-choice=light]{display:flex}}:root[data-theme=dark] .theme-btn[data-theme-choice=dark]{display:none}:root[data-theme=dark] .theme-btn[data-theme-choice=light]{display:flex}main{max-width:var(--content-width);padding:var(--space-8) var(--space-4) var(--space-16);margin:0 auto}.page-eyebrow{font-family:var(--font-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--color-muted);margin:0 0 var(--space-3);font-size:.7rem;font-weight:600}.btn,.select{font:inherit;font-family:var(--font-ui);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);padding:var(--space-2) var(--space-4);font-size:.9rem}.btn{border-radius:var(--radius-pill);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease)}.btn:hover,.btn[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent)}.select{border-radius:var(--radius-sm);padding:var(--space-2) var(--space-2)}.page-title{margin:0 0 var(--space-4);letter-spacing:-.01em;font-size:clamp(2rem,2vw + 1.5rem,3.2rem);font-weight:700}.table-scroll{margin:var(--space-6) 0;overflow-x:auto}.post-body table,.project-body table,.about-body table{border-collapse:collapse;width:100%;margin:0;font-size:.95rem}.post-body th,.project-body th,.about-body th,.post-body td,.project-body td,.about-body td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border)}.post-body th,.project-body th,.about-body th{font-family:var(--font-ui);border-bottom:2px solid var(--color-border);white-space:nowrap;font-weight:600}
