:root{--bg:#e0fff0;--text:#666;--ink:#111;--muted:#999;--rule:#b9cfc4;--sidebar-w:220px;--font:"Figtree", "Proxima Nova", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 var(--font);letter-spacing:.02em}a{color:inherit}img,video{max-width:100%;height:auto;display:block}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);padding:40px 30px;overflow-y:auto}.site-title{color:var(--ink);text-decoration:none;font-weight:700;font-size:20px;letter-spacing:0}.site-subtitle{margin:2px 0 28px;color:var(--muted);font-size:12px}.nav ul{list-style:none;margin:0;padding:0}.nav>ul>li{margin:0 0 6px}.nav a{text-decoration:none;color:var(--ink);font-size:13px}.nav a:hover,.nav .active>a{color:var(--muted)}.subnav{margin:4px 0 8px 14px!important}.subnav a{color:var(--text);font-size:12px}.home-link{margin-top:12px!important;font-size:16px}.menu-toggle{display:none}.content{margin-left:var(--sidebar-w);padding:40px 50px 80px 20px;max-width:calc(var(--sidebar-w) + 1100px)}.prose{max-width:640px}.prose p{margin:0 0 1em}.prose h1{color:var(--ink);font-size:22px;font-weight:600;margin:0 0 .6em;letter-spacing:0}.prose h1+p{margin-top:0}.prose *+h1{margin-top:1.6em}.prose a{color:var(--ink)}.home-page{max-width:640px}.hero{width:100%;max-width:440px;margin:0 auto 40px}.social{list-style:none;padding:0;margin:32px 0 0;display:flex;gap:18px}.home-page .social{justify-content:center}.social a{color:var(--ink);display:block;line-height:0}.social a:hover{color:var(--muted)}.projects{max-width:720px}.projects .intro{color:var(--ink);font-weight:400;font-size:16px;margin:0 0 30px}.projects hr{border:0;border-top:1px solid var(--rule);margin:0 0 40px}.project{margin:0 0 56px;color:var(--ink)}.project-media{width:100%;margin:0 0 24px;background:#000}.project img.project-media{background:0 0}.project p{margin:0 0 .5em}.project a{text-decoration:none}.project a:hover{text-decoration:underline}.gallery-page .intro{margin-bottom:18px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-width:1100px}.tile{display:block;aspect-ratio:3/4;overflow:hidden;background:rgba(0,0,0,5%)}.tile img{width:100%;height:100%;object-fit:cover;transition:opacity .2s}.tile:hover img{opacity:.85}.lightbox{position:fixed;inset:0;z-index:50;background:rgba(224,255,240,.97);display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:90vh;width:auto;height:auto;box-shadow:0 4px 24px rgba(0,0,0,.12)}.lightbox button{position:absolute;background:0 0;border:0;cursor:pointer;font:300 34px/1 var(--font);color:var(--ink);padding:16px}.lb-close{top:8px;right:12px}.lb-prev{left:8px;top:50%;transform:translateY(-50%)}.lb-next{right:8px;top:50%;transform:translateY(-50%)}.lb-count{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:12px;color:var(--muted)}.notes-layout{display:grid;grid-template-columns:minmax(0,1fr)220px;gap:60px;max-width:980px}.note{margin-bottom:60px}.note-title{color:var(--ink);font-size:18px;font-weight:600;margin:0 0 4px;letter-spacing:0}.note-title a{text-decoration:none}.note-date{display:block;color:var(--muted);font-size:12px;margin-bottom:18px}.notes-aside{font-size:13px;color:var(--ink)}.notes-aside h1{font-size:18px;margin-top:1.4em}.note-index{list-style:none;padding:0}.pager{display:flex;justify-content:space-between;margin-top:30px;font-size:13px}.pager a{color:var(--ink);text-decoration:none}@media(max-width:800px){body{font-size:15px}.sidebar{position:static;width:auto;padding:24px 16px 0;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}.site-title{font-size:26px}.site-subtitle{margin-bottom:0}.menu-toggle{display:block;background:0 0;border:0;padding:4px 0;cursor:pointer;font:15px var(--font);color:var(--muted)}.nav{display:none;width:100%;padding:24px 0 8px}.nav.open{display:block}.nav a{font-size:16px}.subnav a{font-size:15px}.content{margin-left:0;padding:50px 16px 60px}.gallery{grid-template-columns:repeat(2,1fr);gap:4px}.notes-layout{grid-template-columns:1fr;gap:20px}}