:root{--bg:#F5F0E7;--surface:#FBF8F2;--ink:#252525;--muted:#5E5A52;--accent:#E56517;--accent-ink:#B34A0E;--on-accent:#252525;--line:rgba(37,37,37,.15);--foot-bg:#252525;--foot-ink:#F5F0E7;--foot-muted:#B9B2A5;--display:"Bricolage Grotesque",system-ui,sans-serif;--read:"Literata",Georgia,"Times New Roman",serif;--r:10px;--ease:cubic-bezier(.16,1,.3,1);color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg:#1D1D1D;--surface:#262626;--ink:#F5F0E7;--muted:#B5AEA2;--accent-ink:#F58A45;--line:rgba(245,240,231,.16);--foot-bg:#151515;color-scheme:dark}}*{box-sizing:border-box;margin:0}html{background:var(--bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font:400 1.0625rem/1.6 var(--display);overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}.wrap{max-width:72rem;margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}.nav{position:sticky;top:0;z-index:70;background:color-mix(in srgb,var(--bg) 92%,transparent);border-bottom:1px solid var(--line)}@supports (backdrop-filter:blur(1px)){.nav{backdrop-filter:blur(10px)}}.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;min-height:72px}.brand{display:inline-flex;align-items:center;flex:none}.logo,.logo img{height:46px;width:auto;display:block}.site-footer .logo,.site-footer .logo img{height:64px}.logo-text{display:inline-flex;align-items:baseline;gap:.55rem;line-height:1}.logo-name{font:800 1.5rem/1 var(--display);letter-spacing:-.03em}.logo-tag{font:500 .8rem/1 var(--display);color:var(--accent-ink)}.nav nav{display:flex;gap:.25rem}.nav nav a{padding:.5rem .8rem;border-radius:var(--r);font-weight:500;font-size:.98rem;color:var(--muted);transition:color .25s,background .25s}.nav nav a:hover{color:var(--ink);background:var(--line)}.nav nav a[aria-current]{color:var(--ink);box-shadow:inset 0 -3px 0 var(--accent);border-radius:0}@media(max-width:560px){.logo-tag{display:none}.nav .wrap{flex-wrap:wrap;padding-block:.4rem;gap:.2rem}.nav nav{width:100%;margin-inline:-.8rem;overflow-x:auto}.nav nav a{padding:.45rem .7rem;font-size:.94rem}}.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:.5rem;padding:.8rem 1.35rem;border-radius:var(--r);font:700 1rem/1 var(--display);border:2px solid var(--accent);background:var(--accent);color:var(--on-accent);cursor:pointer;transition:transform .3s var(--ease),background .25s,color .25s}.btn:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);transform:translateY(101%);transition:transform .45s var(--ease)}.btn:hover:before{transform:none}.btn:hover{color:var(--bg)}.btn:active{transform:scale(.98)}.btn-ghost{background:transparent;border-color:var(--ink);color:var(--ink)}.btn-ghost:before{background:var(--accent)}.btn-ghost:hover{color:var(--on-accent);border-color:var(--accent)}.site-footer{margin-top:clamp(3.5rem,8vw,6rem);background:var(--foot-bg);color:var(--foot-ink);padding-block:clamp(2.5rem,5vw,3.5rem) 2rem}.site-footer .wrap{display:grid;grid-template-columns:1fr auto;gap:2rem 3rem}.foot-brand .logo-name{color:var(--foot-ink)}.foot-brand .logo-tag{color:#f58a45}.foot-brand p{margin-top:.9rem;max-width:26rem;color:var(--foot-muted);font-size:.98rem}.foot-links{display:flex;flex-direction:column;gap:.5rem;font-size:.98rem}.foot-links a{width:fit-content;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color .25s}.foot-links a:hover{text-decoration-color:#f58a45}.foot-small{grid-column:1/-1;border-top:1px solid rgba(245,240,231,.16);padding-top:1.25rem;color:var(--foot-muted);font-size:.9rem}.foot-small a{text-decoration:underline;text-underline-offset:3px}@media(max-width:640px){.site-footer .wrap{grid-template-columns:1fr}}.page{max-width:50rem;margin-inline:auto;padding:0 clamp(1rem,4vw,2rem)}.page.wide{max-width:none;padding:0}.page-head{padding-block:clamp(2.2rem,5vw,4rem) clamp(1.2rem,3vw,2rem)}.eyebrow{font:700 .85rem/1 var(--display);color:var(--accent-ink);margin-bottom:.9rem}.eyebrow a:hover{text-decoration:underline}h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;line-height:1.1;text-wrap:balance}.page-head h1{font-size:clamp(2.1rem,5.5vw,3.5rem)}.lead{margin-top:1rem;max-width:36rem;font-size:1.15rem;color:var(--muted)}.lead a,.back,.prose a{color:var(--accent-ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.lead a:hover,.back:hover,.prose a:hover{text-decoration-color:var(--accent)}.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:1.4rem 0 0}.chips a{display:inline-block;padding:.4rem .85rem;border:1.5px solid var(--line);border-radius:var(--r);background:var(--surface);font-weight:500;font-size:.92rem;transition:border-color .25s,background .25s}.chips a:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.chips small{font-size:.8rem;color:var(--muted);margin-left:.3rem}.chips.big{margin-top:.5rem;padding-bottom:1rem}.post-list{list-style:none;padding:0;border-top:2px solid var(--ink)}.post-list li{border-bottom:1px solid var(--line)}.post-list a{display:grid;grid-template-columns:8rem minmax(0,1fr) auto;gap:1.25rem;align-items:center;padding:1.25rem 0;transition:padding .5s var(--ease)}.post-list a:hover,.results a:hover{padding-left:.6rem}.post-list time,.results time{font:500 .85rem/1.3 var(--display);color:var(--muted)}.post-list h3,.results h3{font-size:clamp(1.15rem,2.2vw,1.45rem);overflow-wrap:anywhere;transition:color .25s}.post-list p,.results p{margin-top:.4rem;color:var(--muted);font-size:.98rem;max-width:42rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.thumb{width:8rem;height:5.6rem;object-fit:cover;border-radius:var(--r);transition:transform .6s var(--ease)}.thumb-empty{display:grid;place-items:center;background:var(--foot-bg);color:var(--accent);font:800 2rem/1 var(--display)}.post-list a:hover .thumb,.results a:hover .thumb{transform:rotate(-3deg) scale(1.06)}.post-list a:hover h3,.results a:hover h3{color:var(--accent-ink)}.post{padding-bottom:1rem}.post header{padding-block:clamp(2.2rem,5vw,3.5rem) 1.6rem;margin-bottom:2rem;border-bottom:1px solid var(--line)}.post header time{display:block;font:500 .95rem/1 var(--display);color:var(--muted);margin-top:1.1rem}.post h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.08}.prose{font:400 clamp(1.125rem,1.4vw,1.25rem)/1.75 var(--read);max-width:68ch;margin-inline:auto;overflow-wrap:break-word;hyphens:auto;font-variant-numeric:oldstyle-nums}.prose>*+*{margin-top:1.35em}.prose h2,.prose h3,.prose h4{font-family:var(--display);line-height:1.15;margin-top:2.4em;margin-bottom:-.2em}.prose h2{font-size:1.75rem}.prose h3{font-size:1.4rem}.prose h4{font-size:1.15rem}.prose img{max-width:100%;height:auto;border-radius:var(--r)}.prose ul,.prose ol{padding-left:1.5rem}.prose li+li{margin-top:.4em}.prose blockquote{border-left:4px solid var(--accent);padding:.2rem 0 .2rem 1.2rem;color:var(--muted)}.prose hr{border:0;border-top:1px solid var(--line);margin-block:2.5em}.prose pre,.prose table{display:block;max-width:100%;overflow-x:auto}.prose pre{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1rem;font:400 .92rem/1.5 ui-monospace,Menlo,monospace}.prose iframe,.prose video{max-width:100%;border-radius:var(--r)}.prose iframe{aspect-ratio:16/9;height:auto;width:100%}.tags{display:flex;gap:.5rem;flex-wrap:wrap;list-style:none;padding:0;margin:2.5rem auto 0;max-width:68ch}.tags li{border:1.5px solid var(--line);border-radius:var(--r);font-size:.88rem;padding:.35rem .7rem}.tags a:hover{color:var(--accent-ink)}.back{display:block;max-width:68ch;margin:2.5rem auto 0;font-weight:700}.pager{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:2.5rem;font-size:.95rem;color:var(--muted)}.pager a{font-weight:700;color:var(--accent-ink);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.search-form{display:flex;gap:.6rem;margin-top:1.4rem;max-width:36rem}.search-form input{flex:1;min-width:0;padding:.85rem 1rem;border:2px solid var(--ink);border-radius:var(--r);background:var(--surface);font:400 1rem/1.2 var(--display);color:var(--ink)}.search-form input::placeholder{color:var(--muted)}.results{list-style:none;padding:0;border-top:2px solid var(--ink)}.results li{border-bottom:1px solid var(--line)}.results a{display:grid;grid-template-columns:8rem minmax(0,1fr) auto;gap:1.25rem;align-items:center;padding:1.25rem 0}.results mark{background:color-mix(in srgb,var(--accent) 35%,transparent);color:inherit;padding:0 .1em;border-radius:3px}.more-btn{margin-top:2rem}@media(max-width:700px){.post-list a,.results a{grid-template-columns:1fr;gap:.4rem}.thumb{width:100%;height:9rem;order:-1}.post-list a:hover,.results a:hover{padding-left:0}.pager{flex-wrap:wrap;justify-content:center}.search-form{flex-wrap:wrap}}.js .rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(var(--d,0)*70ms)}.js .rv.in{opacity:1;transform:none}.trail{position:fixed;left:0;top:0;z-index:90;width:clamp(15rem,22vw,20rem);aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;pointer-events:none;box-shadow:0 24px 50px -18px #2525258c;clip-path:inset(50% 50% 50% 50% round 10px);opacity:0;transition:clip-path .45s var(--ease),opacity .25s;will-change:transform}.trail.on{clip-path:inset(0 0 0 0 round 10px);opacity:1}.trail img{width:100%;height:100%;object-fit:cover}@media(prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none}}@media(hover:none){.trail{display:none}}.read-progress{position:fixed;left:0;top:0;height:3px;width:100%;z-index:80;background:var(--accent);transform:scaleX(0);transform-origin:left;display:none}@supports (animation-timeline:scroll()){.read-progress{display:block;animation:progress linear both;animation-timeline:scroll(root)}@keyframes progress{to{transform:scaleX(1)}}}
