@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap');
:root{color-scheme:light;--ink:#183943;--muted:#60757a;--paper:#fbf5e8;--surface:#fffdf7;--teal:#103746;--teal-2:#174958;--orange:#f16a32;--red:#e64d35;--gold:#f5b83d;--line:#e8ddc9;--code:#102f3a;--shadow:0 12px 35px rgba(16,55,70,.07)}
:root[data-theme="dark"]{color-scheme:dark;--ink:#f4ead7;--muted:#b0c0bd;--paper:#102a33;--surface:#163741;--teal:#0b2028;--teal-2:#244c56;--line:#31515a;--code:#091d24;--shadow:0 12px 35px rgba(0,0,0,.15)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--orange)}button{font:inherit}.skip-link{position:absolute;left:-999px;top:0;background:var(--gold);color:#102f3a;padding:.5rem 1rem;z-index:99}.skip-link:focus{left:1rem;top:1rem}.site-header{background:var(--teal) url("../images/header-texture.png") repeat;position:relative;border:0}.site-header:after{content:"";display:block;height:5px;background:linear-gradient(90deg,var(--gold) 0 33.3%,var(--orange) 33.3% 66.6%,var(--red) 66.6%)}.header-inner{max-width:1180px;margin:auto;padding:8px 28px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:block;min-width:0;flex:1}.brand-image{display:block;width:100%;max-width:900px;height:auto;max-height:78px;object-fit:contain;object-position:left center;mix-blend-mode:normal}.site-nav{display:flex;align-items:center;gap:24px;color:#fff6e3;font-size:.9rem;font-weight:600;white-space:nowrap}.site-nav a{transition:color .2s}.site-nav a:hover{color:var(--gold)}.theme-toggle,.menu-toggle{border:1px solid rgba(255,255,255,.28);border-radius:999px;background:transparent;color:#fff6e3;padding:5px 11px;cursor:pointer}.theme-toggle{font-size:1.15rem;width:38px;height:38px}.menu-toggle{display:none}.page-wrap{max-width:920px;margin:0 auto;padding:0 28px 90px}.hero-copy{padding:78px 0 62px;max-width:740px}.eyebrow,.post-meta,.back-link,.read-link,.section-heading .post-count,.tag,.article-bottom{font-family:'DM Mono',monospace}.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:500;color:var(--muted)}.eyebrow-dot{width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(241,106,50,.13)}h1,h2,h3,p{margin-top:0}.hero-copy h1{font-family:Fraunces,Georgia,serif;font-size:clamp(2.7rem,7vw,5rem);line-height:1.04;letter-spacing:-.055em;margin:22px 0 20px;max-width:720px}.hero-copy h1 em{color:var(--orange);font-style:normal}.hero-description{max-width:590px;color:var(--muted);font-size:1.13rem;line-height:1.8}.article-section{padding-top:12px}.section-heading{display:flex;align-items:center;gap:18px;margin-bottom:22px}.section-heading h2{font-family:Fraunces,Georgia,serif;font-size:1.6rem;letter-spacing:-.03em;margin:0;white-space:nowrap}.section-rule{height:1px;background:var(--line);flex:1}.post-count{font-size:.68rem;color:var(--muted);white-space:nowrap}.post-list{border-top:1px solid var(--line)}.post-card{padding:30px 0 32px;border-bottom:1px solid var(--line);position:relative}.post-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.7rem;letter-spacing:.025em;text-transform:uppercase}.category{color:var(--orange)}.meta-divider{color:var(--gold)}.read-time{margin-left:auto}.post-card h3{font-family:Fraunces,Georgia,serif;font-size:clamp(1.45rem,3vw,2rem);line-height:1.25;letter-spacing:-.035em;margin:11px 0 8px}.post-card>p{color:var(--muted);max-width:700px;margin-bottom:12px}.read-link{display:inline-flex;gap:8px;align-items:center;color:var(--teal-2);font-size:.76rem;font-weight:500}.read-link span{color:var(--orange);font-size:1rem;transition:transform .2s}.read-link:hover span{transform:translate(3px,-3px)}:root[data-theme="dark"] .read-link{color:var(--gold)}.empty-state{padding:55px 24px;text-align:center;border:1px dashed var(--line);border-radius:12px}.empty-icon{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:16px;background:var(--teal);color:var(--gold);font-family:'DM Mono',monospace;font-size:1.2rem}.empty-state h3{font-family:Fraunces,Georgia,serif;font-size:1.5rem;margin:18px 0 8px}.empty-state p{color:var(--muted);margin:0}.empty-state code{background:var(--line);padding:2px 5px;border-radius:4px}.site-footer{background:var(--teal);color:#f8efd9;border-top:5px solid var(--orange);position:relative}.site-footer:before{content:"";position:absolute;top:-5px;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--gold) 0 33.3%,var(--orange) 33.3% 66.6%,var(--red) 66.6%)}.footer-inner{max-width:920px;margin:auto;padding:36px 28px 30px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 25px}.footer-brand{font-family:Fraunces,Georgia,serif;font-size:1.4rem;font-weight:700;letter-spacing:-.04em}.footer-brand span{color:var(--gold)}.footer-inner p{margin:0;color:#c5d0c8;font-size:.82rem}.footer-inner p a{text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}.copyright{grid-column:1/-1;padding-top:16px;margin-top:10px!important;border-top:1px solid rgba(255,255,255,.15);font-family:'DM Mono',monospace;font-size:.68rem!important}.article{padding-top:44px}.article-header{max-width:760px;margin:0 0 42px}.back-link{display:inline-block;font-size:.72rem;color:var(--muted);margin-bottom:34px}.article-header h1{font-family:Fraunces,Georgia,serif;font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.08;letter-spacing:-.055em;margin:17px 0}.article-deck{font-size:1.15rem;color:var(--muted);line-height:1.75}.tag-list{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.tag{font-size:.66rem;padding:4px 9px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:52px;align-items:start}.article-content{min-width:0;font-size:1.04rem;line-height:1.9}.article-content h2,.article-content h3,.article-content h4{font-family:Fraunces,Georgia,serif;line-height:1.25;letter-spacing:-.03em;margin:2.2em 0 .65em}.article-content h2{font-size:1.9rem}.article-content h3{font-size:1.45rem}.article-content p,.article-content ul,.article-content ol{margin-bottom:1.4em}.article-content a{color:var(--orange);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.article-content blockquote{margin:1.8em 0;padding:4px 0 4px 22px;border-left:4px solid var(--gold);color:var(--muted);font-family:Fraunces,Georgia,serif;font-size:1.2rem}.article-content img{max-width:100%;height:auto;border-radius:8px}.article-content pre{overflow:auto;background:var(--code);color:#f7f0de;padding:22px;border-radius:10px;line-height:1.65;font-size:.85rem;box-shadow:var(--shadow)}.article-content code{font-family:'DM Mono',monospace;font-size:.86em}.article-content p code,.article-content li code{background:var(--line);border-radius:4px;padding:2px 5px}.article-content pre code{background:transparent;padding:0;font-size:1em}.article-content hr{border:0;border-top:1px solid var(--line);margin:3em 0}.article-aside{position:sticky;top:24px}.aside-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:18px;box-shadow:var(--shadow);font-size:.8rem;line-height:1.65}.aside-mark{display:inline-grid;place-items:center;width:42px;height:42px;background:var(--teal);color:var(--gold);border-radius:9px;font-family:'DM Mono',monospace}.aside-title{font-family:Fraunces,Georgia,serif;font-size:1.08rem;font-weight:700;margin:15px 0 7px}.aside-card p:not(.aside-title){color:var(--muted)}.aside-card a{color:var(--orange);font-weight:700}.article-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:55px;font-size:.7rem;color:var(--muted)}.simple-page{max-width:760px;margin:auto}.simple-page .article-content{padding-bottom:50px}.simple-page .article-header{margin-bottom:24px}.simple-page .article-content h2{margin-top:1.5em}
@media(max-width:760px){.header-inner{padding:10px 18px;gap:12px}.brand-image{max-height:54px;object-position:left center}.site-nav{gap:14px;font-size:.82rem}.page-wrap{padding:0 21px 65px}.hero-copy{padding:58px 0 44px}.article-layout{grid-template-columns:1fr;gap:28px}.article-aside{position:static;max-width:420px}.article-header{margin-bottom:30px}.footer-inner{padding-left:21px;padding-right:21px}}
@media(max-width:520px){.header-inner{flex-wrap:wrap}.brand{flex:1 1 75%;}.brand-image{max-height:50px;object-position:left center}.menu-toggle{display:inline-flex;align-items:center;gap:8px;font-size:.8rem}.site-nav{display:none;flex:1 0 100%;justify-content:flex-end;padding:8px 0 10px}.site-nav.is-open{display:flex}.hero-copy{padding-top:48px}.hero-copy h1{font-size:2.8rem}.hero-description{font-size:1rem}.section-heading{gap:10px}.section-heading h2{font-size:1.4rem}.post-card{padding:24px 0}.post-card h3{font-size:1.5rem}.read-time{margin-left:0}.footer-inner{grid-template-columns:1fr;gap:9px}.copyright{grid-column:auto}.article{padding-top:30px}.article-header h1{font-size:2.5rem}.article-content{font-size:1rem}.article-bottom{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.hero-copy{position:relative;isolation:isolate;max-width:none}.hero-lights{position:absolute;z-index:-1;inset:18px 0 8px;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(100deg,rgba(0,0,0,.25) 10%,rgba(0,0,0,.5) 45%,#000 80%);mask-image:linear-gradient(100deg,rgba(0,0,0,.25) 10%,rgba(0,0,0,.5) 45%,#000 80%)}.hero-lights span{--c:var(--orange);position:absolute;left:var(--x);top:var(--y);font-family:'DM Mono',monospace;font-weight:500;font-size:var(--s);line-height:1;white-space:nowrap;color:var(--c);opacity:.07;transform:rotate(var(--r));text-shadow:0 0 6px color-mix(in srgb,var(--c) 70%,transparent),0 0 18px color-mix(in srgb,var(--c) 40%,transparent);will-change:opacity;animation:glyph var(--t,4s) cubic-bezier(.45,0,.55,1) var(--d,0s) infinite}.hero-lights span:nth-child(3n+1){--c:var(--gold)}.hero-lights span:nth-child(4n+2){--c:var(--red)}.hero-lights span:nth-child(5n){--c:var(--teal-2)}:root[data-theme="dark"] .hero-lights span:nth-child(5n){--c:#7fc4c4}
@keyframes glyph{0%,25%,75%,100%{opacity:.07}50%{opacity:.75}}@keyframes glyph-dark{0%,25%,75%,100%{opacity:.07}50%{opacity:1}}:root[data-theme="dark"] .hero-lights span{animation-name:glyph-dark}
@media(max-width:520px){.hero-lights span:nth-child(2n){display:none}}
@media(prefers-reduced-motion:reduce){.hero-lights span{animation:none}}
