﻿/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-size:1em}a{background-color:rgba(0,0,0,0)}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.highlight{background:#f8f8f8;padding:1px 1em;border-radius:3px;font-size:1em;font-size:.9em;overflow:auto;margin:1em -1em}.highlight code{padding:0}div.highlight{display:grid}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k{font-weight:bold}.highlight .o{font-weight:bold}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:bold}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-weight:bold;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .gd .x{color:#000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .gi .x{color:#000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{font-weight:bold}.highlight .kd{font-weight:bold}.highlight .kp{font-weight:bold}.highlight .kr{font-weight:bold}.highlight .kt{color:#458;font-weight:bold}.highlight .m{color:#099}.highlight .s{color:#d14}.highlight .na{color:teal}.highlight .nb{color:#0086b3}.highlight .nc{color:#458;font-weight:bold}.highlight .no{color:teal}.highlight .ni{color:purple}.highlight .ne{color:#900;font-weight:bold}.highlight .nf{color:#900;font-weight:bold}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .dl{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}html{overflow-y:auto;scrollbar-gutter:stable both-edges}@supports not (scrollbar-gutter: stable){html{overflow-y:scroll}}:root{--color-deep: #141210;--color-charcoal: #201d1a;--color-graphite: #2d2926;--color-stone: #4a453f;--color-cream: #e8ddd4;--color-warm-gray: #c7beb5;--color-meta: #9c958c;--color-accent-hover: #93c5fd;--color-accent-subtle: #3b82f6;--color-accent-primary: #fcd34d;--color-accent-secondary: #fca5a5;--color-divider: var(--color-stone);--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "Roboto Mono", monospace;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 600;--space-xs: 0.25rem;--space-sm: 0.5rem;--space-md: 1rem;--space-lg: 1.75rem;--space-xl: 3rem;--section-spacing: var(--space-xl);--section-content-spacing: var(--space-md);--border-radius: 3px;--max-width: 42rem;--line-height: 1.6}body{background:var(--color-deep);color:var(--color-cream);font-family:var(--font-primary);font-weight:var(--font-weight-normal);font-size:1rem;line-height:var(--line-height);margin:0 auto;max-width:var(--max-width);padding:var(--space-xl) 2rem;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-spacing:.05em}@media(min-width: 820px){body{font-size:1.05rem;line-height:1.65}}@media(max-width: 600px){body{line-height:1.6;padding:var(--space-lg) 4vw}}::selection{background-color:rgba(147,197,253,.4);color:var(--color-cream)}h1,h2,h3,h4,h5,h6{color:var(--color-cream);line-height:1.25;margin:var(--space-lg) 0 var(--space-md) 0;font-weight:var(--font-weight-medium);letter-spacing:-0.01em;text-shadow:0 0 15px rgba(59,130,246,.08)}h1{font-size:2rem;font-weight:var(--font-weight-bold);margin-bottom:var(--space-lg);line-height:1.15;text-shadow:0 0 20px rgba(59,130,246,.12)}h2{font-size:1.65rem;margin-top:calc(var(--space-xl)*1.25)}h3{font-size:1.35rem;color:var(--color-warm-gray);margin-top:var(--space-xl);margin-bottom:calc(var(--space-md)*1)}h1+p,h2+p,h3+p{margin-top:calc(var(--space-md)*.75)}.section,.topics-section,.writing-section,.latest-section{margin:0 0 var(--section-spacing) 0}.label,.latest-label,.section-label{font-size:1rem;font-weight:var(--font-weight-normal);color:var(--color-meta);letter-spacing:.03em;margin-bottom:var(--section-content-spacing);text-decoration:none !important;display:block}.title-link,.latest-title-link{text-decoration:none !important;color:var(--color-accent-subtle)}.title-link:hover .latest-title,.latest-title-link:hover .latest-title{color:var(--color-accent-hover)}.latest-label:hover,.section-label:hover{color:var(--color-accent-hover)}.latest-title{font-size:1.35rem;font-weight:var(--font-weight-medium);color:var(--color-cream);line-height:1.35;margin:0 0 var(--space-xs) 0;transition:color .2s ease}.latest-meta{font-size:1rem;color:var(--color-meta);margin-bottom:var(--space-sm)}.latest-preview{color:var(--color-meta);font-size:1rem;line-height:1.6;margin:0 0 var(--space-md) 0}.read-more{display:inline;margin-top:0;color:var(--color-meta);font-weight:var(--font-weight-normal);transition:color .2s ease}.read-more:hover{color:var(--color-cream)}.topics-section,.writing-section{margin-top:0}.topics-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:0}.topic-item{margin:0}.topic-item::after{content:", ";color:var(--color-warm-gray)}.topic-item:last-child::after{content:""}.topic-link{display:inline;background:rgba(0,0,0,0);border:none;border-radius:0;padding:0;color:var(--color-warm-gray);font-size:.95rem;white-space:nowrap;transition:color .2s ease}.topic-link:hover{color:var(--color-accent-hover)}.topic-name{font-weight:var(--font-weight-medium)}.topic-count{color:var(--color-stone);margin-left:var(--space-xs)}p{margin:var(--space-md) 0 var(--space-lg) 0;color:var(--color-cream)}.tag-page-title{font-size:2rem;font-weight:var(--font-weight-normal);margin-bottom:var(--space-sm);line-height:1.15;color:var(--color-cream)}.tag-page-title a{color:var(--color-meta);text-decoration:none;font-weight:var(--font-weight-normal)}.tag-page-title a:hover{color:var(--color-accent-hover)}.tag-meta{color:var(--color-meta);font-size:1rem;margin-bottom:var(--space-xl);margin-top:0}nav{margin:0;padding:0;font-size:1.1rem}nav .nav-container{display:flex;justify-content:space-between;align-items:center}nav .nav-left{display:flex;align-items:center;gap:var(--space-xs)}nav a{text-decoration:none !important}.nav-breadcrumb-separator{color:var(--color-warm-gray);margin:0 var(--space-xs)}.nav-breadcrumb-item{color:var(--color-meta)}.nav-breadcrumb-item:hover{color:var(--color-accent-hover)}.nav-links{display:flex;gap:var(--space-lg)}.nav-links a{color:var(--color-meta);font-weight:var(--font-weight-normal);letter-spacing:.01em;transition:color 200ms ease}.nav-links a:hover{color:var(--color-accent-hover) !important}a{color:var(--color-meta);text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:.2em;text-decoration-thickness:1px;transition:color 200ms ease}a:hover{color:var(--color-accent-hover)}a:not(.internal-link):not([href^="/"]):not([href^="#"]):not([href^="."]):not([href*="/projects/"]):not(.nav-links a):after{content:"↗";position:relative;top:-0.3em;font-size:.7em;color:var(--color-warm-gray);margin-left:.1em;text-decoration:none}a:not(.internal-link):not([href^="/"]):not([href^="#"]):not([href^="."]):not([href*="/projects/"]):not(.nav-links a){font-style:italic}a.footnote:after,a.reversefootnote:after{content:""}.site-title{color:var(--color-cream);font-weight:300;text-decoration:none;transition:color 200ms ease;padding:0;margin:0}.site-title:hover{color:var(--color-accent-hover)}*:focus{outline:2px solid var(--color-accent-subtle);outline-offset:2px;background:var(--color-charcoal) !important;color:var(--color-cream) !important}main{margin:calc(var(--section-spacing)*1.25) 0 var(--section-spacing) 0}footer{margin:var(--section-spacing) 0 var(--space-lg) 0;padding:var(--space-lg) 0;border-top:1px solid var(--color-divider);color:var(--color-warm-gray);font-size:.9rem}.stove-signature{text-align:left;margin:var(--space-xl) 0 var(--space-md) 0}ol{margin:var(--space-md) 0 var(--space-lg) 0;padding-left:var(--space-lg)}ol li{margin:var(--space-sm) 0;color:var(--color-cream)}time{display:block;color:var(--color-warm-gray);margin:var(--space-xs) 0 var(--space-lg);font-size:1.1rem;font-weight:var(--font-weight-medium);letter-spacing:-0.01em}article{margin-bottom:var(--space-lg)}article h1{margin-bottom:var(--space-sm);margin-top:0}.project-meta{margin:calc(2em*var(--line-height)) 0 var(--space-lg) 0}.project-meta .project-year{display:block;color:var(--color-cream);font-size:1.25rem;font-weight:var(--font-weight-bold);letter-spacing:-0.01em;line-height:1.3;margin:0}.project-status{display:inline-block;margin-left:var(--space-sm);color:var(--color-meta);font-size:.95rem;font-weight:var(--font-weight-normal)}img{max-width:100%;height:auto;border-radius:var(--border-radius);margin:var(--space-lg) auto;display:block;max-height:75vh;box-shadow:0 8px 24px rgba(0,0,0,.4)}blockquote{border-left:2px solid var(--color-divider);margin:var(--space-xl) 0;padding-left:var(--space-lg);font-style:italic;color:var(--color-warm-gray)}blockquote p{margin:0}hr,.section-divider{width:100%;border:0;height:1px;margin:var(--section-spacing) 0;background:var(--color-divider)}.section-divider{margin-top:0;margin-bottom:var(--section-spacing)}code{font-family:var(--font-mono);background:var(--color-charcoal);color:var(--color-warm-gray);padding:var(--space-xs) var(--space-sm);border-radius:var(--border-radius);font-size:.9em}pre{background:var(--color-charcoal);color:var(--color-cream);padding:var(--space-md);border-radius:var(--border-radius);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;overflow-x:auto;margin:var(--space-md) 0 var(--space-lg) 0}.backlink-box{background:rgba(0,0,0,0);padding:var(--space-sm);border-radius:var(--border-radius);border-left:2px solid var(--color-divider);border-top:none;border-right:none;border-bottom:none}.invalid-link{color:var(--color-warm-gray);background:var(--color-charcoal);padding:0 var(--space-xs);border-radius:var(--border-radius);cursor:help}.invalid-link-brackets{color:var(--color-stone);cursor:help}.article-list,.writing-section ul{list-style:none;padding:0;margin:0}.article-list li,.writing-section ul li{margin:0}.article-list a,.writing-section ul a{display:grid;grid-template-columns:auto 1fr;gap:var(--space-md);align-items:baseline;text-decoration:none !important;padding:0}.article-list a:hover .article-title,.writing-section ul a:hover .article-title{color:var(--color-accent-hover)}.article-date{font-family:var(--font-mono);color:var(--color-meta);font-size:.9em;text-decoration:none !important}.article-separator{color:var(--color-stone);text-decoration:none !important}.article-title{color:var(--color-cream);transition:color 200ms ease}.you-might-enjoy{margin:var(--space-xl) 0;padding:var(--space-lg) 0;border-top:1px solid var(--color-divider)}.you-might-enjoy h3{font-size:1.35rem;font-weight:var(--font-weight-medium);color:var(--color-warm-gray);margin:0 0 var(--space-md) 0;line-height:1.25}.you-might-enjoy .recommendations-list{list-style:none;padding:0;margin:0}.you-might-enjoy .recommendations-list li{margin:var(--space-sm) 0}.you-might-enjoy .recommendations-list li a{color:var(--color-stone);transition:color 200ms ease}.you-might-enjoy .recommendations-list li a:hover{color:var(--color-accent-hover)}.you-might-enjoy .similarity-score{color:var(--color-meta);font-size:.875rem;font-weight:var(--font-weight-normal);margin-left:var(--space-xs);opacity:.7}.projects-grid{list-style:none;padding:0;margin:var(--space-xl) 0;display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media(min-width: 768px){.projects-grid{grid-template-columns:repeat(2, 1fr)}}.project-card{display:block;text-decoration:none;color:var(--color-cream);background-color:var(--color-charcoal);border:1px solid var(--color-graphite);border-radius:var(--border-radius);transition:transform 200ms ease,border-color 200ms ease;overflow:hidden}.project-card:hover{transform:translateY(-4px);border-color:var(--color-accent-hover)}.project-card img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--color-graphite);margin:0;border-radius:0}.project-card-content{padding:var(--space-md) var(--space-lg)}.project-card h3{margin:0 0 var(--space-sm) 0;font-size:1.25rem;color:var(--color-cream)}.project-card p{margin:0;font-size:.95rem;color:var(--color-warm-gray);line-height:1.6}.projects-list{margin-top:1rem}.project-entry{display:grid;grid-template-columns:100px 1fr;row-gap:var(--space-sm);column-gap:calc(var(--space-lg)*1.25);padding:1rem 0;border-bottom:1px solid var(--color-divider);transition:background-color 200ms ease;border-radius:var(--border-radius)}.project-entry:first-child{padding-top:0}.project-entry:last-child{border-bottom:none;padding-bottom:0}.project-entry:hover{background-color:hsla(0,0%,100%,.02)}.project-description-inline{color:var(--color-stone);font-size:1.05rem;line-height:1.5;margin:0 0 var(--space-md) 0;max-width:42rem}.project-year{color:var(--color-warm-gray);font-size:1rem;font-weight:400;padding-top:0;line-height:1}.project-content{min-width:0}.project-title{font-size:1rem;font-weight:500;margin:0 0 .35rem 0;line-height:1.25;display:flex;align-items:baseline;gap:.5rem}.project-title a{color:var(--color-cream);text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:.12em;text-decoration-thickness:.06em;text-decoration-skip-ink:auto;transition:color 200ms ease,text-decoration-color 200ms ease;line-height:1}.project-title a:hover{color:var(--color-accent-hover);text-decoration-color:var(--color-accent-hover)}.project-year-inline{color:var(--color-warm-gray);font-size:1rem;font-weight:400;line-height:1;font-variant-numeric:tabular-nums}.project-description{color:var(--color-cream);font-size:.97rem;line-height:1.45;margin:0}@media(max-width: 600px){.project-entry{grid-template-columns:1fr;gap:.5rem}.project-year{font-size:1rem}}.project-meta{display:flex;gap:1rem;margin-bottom:1rem;font-size:.9rem;color:var(--color-warm-gray)}.project-year{font-weight:500}.project-status{text-transform:capitalize;padding:.25rem .5rem;border-radius:12px;background-color:var(--color-charcoal);font-size:.8rem}.project-nav{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-divider)}.back-link{color:var(--color-warm-gray);text-decoration:none;font-size:.9rem}.back-link:hover{color:var(--color-cream);text-decoration:underline}.projects-page{padding-top:calc(var(--section-spacing)*.75)}.projects-page>article{margin-bottom:var(--section-spacing)}body.project-page{background:var(--color-cream);color:var(--color-deep)}body.project-page nav,body.project-page footer,body.project-page .wrapper{background:rgba(0,0,0,0)}body.project-page h1,body.project-page h2,body.project-page h3,body.project-page h4,body.project-page h5,body.project-page h6{color:var(--color-deep)}body.project-page p,body.project-page li,body.project-page time{color:var(--color-deep)}body.project-page .project-meta{color:var(--color-stone)}body.project-page .project-meta .project-year{color:var(--color-deep)}body.project-page .project-status{background:var(--color-graphite);color:var(--color-cream)}body.project-page .project-title a{color:var(--color-deep)}body.project-page .project-title a:hover{color:var(--color-accent-subtle);text-decoration-color:var(--color-accent-subtle)}body.project-page .project-entry{border-bottom-color:rgba(32,29,26,.15)}body.project-page .project-entry:hover{background-color:rgba(32,29,26,.06)}body.project-page .project-year{color:var(--color-stone)}body.project-page .back-link{color:var(--color-deep)}body.project-page .back-link:hover{color:var(--color-accent-subtle)}.project-filters{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:0 0 var(--space-lg) 0}.project-filter{border:1px solid var(--color-graphite);background:rgba(0,0,0,0);color:var(--color-cream);padding:.35rem .75rem;border-radius:var(--border-radius);font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:background 200ms ease,color 200ms ease,border-color 200ms ease}.project-filter:hover{border-color:var(--color-accent-subtle);color:var(--color-accent-hover)}.project-filter.is-active{background:var(--color-accent-subtle);color:var(--color-deep);border-color:var(--color-accent-subtle)}body.project-page .project-filter{color:var(--color-deep);border-color:rgba(32,29,26,.25)}body.project-page .project-filter:hover{color:var(--color-accent-subtle);border-color:var(--color-accent-subtle)}body.project-page .project-filter.is-active{background:var(--color-deep);color:var(--color-cream);border-color:var(--color-deep)}.project-entry.is-hidden{display:none}.icon-base{width:40px;height:40px;position:relative;cursor:pointer;transition:transform .4s cubic-bezier(0.25, 0.8, 0.25, 1)}.icon-base:hover{transform:scale(1.1)}.icon-base:hover *{animation-play-state:paused !important}@keyframes ember-glow{0%{opacity:.4}50%{opacity:.8;box-shadow:0 0 10px 3px var(--color-accent-secondary)}100%{opacity:.4}}.ember{background:var(--color-charcoal);border-radius:63% 37% 54% 46%/58% 44% 56% 42%;border:1px solid var(--color-stone);animation:ember-glow 6s ease-in-out infinite}.ember .ash{position:absolute;width:3px;height:3px;background:var(--color-deep);border-radius:50%}.ember .ash-1{top:30%;left:50%}.ember .ash-2{top:50%;left:30%}.ember:hover{border-color:var(--color-accent-primary)}.stove-signature{margin-left:auto}.icon-base.the-leap{width:80px;height:80px;position:relative;cursor:pointer;transition:transform .5s ease}.icon-base.the-leap:hover{transform:scale(1.15)}.icon-base.the-leap:hover *{animation-play-state:paused !important}@keyframes leap-spark{0%{stroke-dashoffset:130}50%{stroke-dashoffset:0}100%{stroke-dashoffset:-130}}.the-leap svg{width:100%;height:100%}.the-leap svg .path{stroke:var(--color-stone);stroke-width:2;fill:none}.the-leap svg .spark{stroke:var(--color-accent-hover);stroke-width:2;fill:none;stroke-dasharray:10 120;animation:leap-spark 4s ease-in-out infinite;filter:drop-shadow(0 0 5px var(--color-accent-hover))}img.align-left{float:left;margin:.2rem 1rem .8rem 0}img.align-right{float:right;margin:.2rem 0 .8rem 1rem}img.align-center{display:block;margin-left:auto;margin-right:auto}main img{max-width:100%;height:auto}img.full-bleed{display:block;width:100vw;max-width:100vw;max-height:90vh;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);float:none !important;clear:both;height:auto}img.page-plus{display:block;width:min(80vw,72rem);max-width:none;margin-left:calc(50% - min(80vw,72rem)/2);margin-right:calc(50% - min(80vw,72rem)/2);float:none !important;clear:both;max-height:85vh;height:auto}@media(max-width: 720px){img.full-bleed,img.page-plus{width:100%;max-width:100%;margin-left:0;margin-right:0;aspect-ratio:auto}}.two-up{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1rem;align-items:start}.two-up p{margin:0}.two-up img{width:100% !important;height:auto;display:block}.two-up.equal img{aspect-ratio:3/4;height:auto;object-fit:cover}@media(max-width: 720px){.two-up{grid-template-columns:1fr}}/*# sourceMappingURL=styles.css.map */