:root{--bg:#fcfcfb;--text:#16161a;--muted:#6c6c72;--faint:#f0f0ed;--line:#e4e4e0;--serif:"Fraunces", Georgia, "Times New Roman", serif;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--maxw:680px;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{background:var(--bg);color:var(--text);font-family:var(--sans);letter-spacing:-.005em;font-size:16px;line-height:1.6}a{color:inherit}.nav{max-width:var(--maxw);justify-content:space-between;align-items:center;margin:0 auto;padding:1.5rem;display:flex}.name{font-family:var(--mono);letter-spacing:-.01em;font-size:.92rem;font-weight:500;text-decoration:none}.nav-links{font-family:var(--mono);gap:1.4rem;font-size:.82rem;display:flex}.nav-links a{color:var(--muted);transition:color .18s var(--ease);text-decoration:none}.nav-links a:hover{color:var(--text)}main{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}.intro{padding:clamp(2.5rem,7vw,4.5rem) 0 clamp(2.5rem,6vw,4rem)}.lede{font-size:clamp(1.15rem,3vw,1.5rem);font-family:var(--serif);color:var(--text);letter-spacing:-.01em;font-weight:400}.chart{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:clamp(2rem,5vw,3.25rem);padding:.85rem 1rem 1rem}.chart-head{font-family:var(--mono);justify-content:space-between;align-items:baseline;margin-bottom:.6rem;font-size:.8rem;display:flex}.chart-sym{letter-spacing:.02em;font-weight:500}.chart-quote{color:var(--muted);font-variant-numeric:tabular-nums;align-items:baseline;gap:.55rem;display:flex}.chg.up{color:#1f9d6b}.chg.down{color:#d1453b}.chart-body{position:relative}.line{cursor:crosshair;width:100%;height:clamp(150px,26vw,220px);display:block}.grid line{stroke:var(--line);stroke-width:1px;stroke-dasharray:2 6;vector-effect:non-scaling-stroke}.area{fill:#16161a0d;stroke:none}.line-path{fill:none;stroke:var(--text);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.y-axis{pointer-events:none;position:absolute;inset:0}.y-axis span{font-family:var(--mono);color:var(--muted);background:#fff;padding:0 .25rem;font-size:.66rem;position:absolute;right:0;transform:translateY(-50%)}.section{padding:clamp(2.25rem,5vw,3.5rem) 0}.section-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding-bottom:1.25rem;display:flex}.section-title{font-family:var(--serif);letter-spacing:-.01em;font-size:1.35rem;font-weight:500}.section-count{font-family:var(--mono);color:var(--muted);font-size:.76rem}.project{border-bottom:1px solid var(--line);transition:background .25s var(--ease);border-radius:10px;grid-template-columns:2.25rem 1fr auto 1.25rem;align-items:baseline;gap:1rem;margin:0 -.75rem;padding:1.4rem .75rem;text-decoration:none;display:grid}.project:hover{background:var(--faint)}.project-index{font-family:var(--mono);color:var(--muted);font-size:.76rem}.project-name{font-family:var(--serif);letter-spacing:-.01em;font-size:1.2rem;font-weight:500;display:block}.project-desc{color:var(--muted);margin-top:.2rem;font-size:.92rem;line-height:1.45;display:block}.project-meta{font-family:var(--mono);color:var(--muted);font-size:.76rem}.project-arrow{color:var(--muted);transition:transform .25s var(--ease), color .2s var(--ease);justify-self:end;font-size:1rem}.project:hover .project-arrow{color:var(--text);transform:translate(2px,-2px)}.arrow{transition:transform .25s var(--ease);font-size:.85em;display:inline-block}.nav-links a:hover .arrow{transform:translate(2px,-2px)}.footer{max-width:var(--maxw);font-family:var(--mono);color:var(--muted);border-top:1px solid var(--line);justify-content:space-between;margin:0 auto;padding:2.5rem 1.5rem 3rem;font-size:.74rem;display:flex}.js .reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(16px)}.js .reveal.in{opacity:1;transform:none}@media (width<=540px){.nav{padding:1.25rem}main{padding:0 1.25rem}.project{grid-template-columns:1.6rem 1fr auto;gap:.75rem;padding:1.2rem .75rem}.project-arrow{display:none}.footer{padding:2rem 1.25rem 2.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.candle,.js .reveal{opacity:1;transition:none;transform:none}}
