:root{--bg:#faf9f6;--sidebar:#f4f3ee;--surface:#fffefa;--text:#2b2d27;--muted:#777970;--faint:#96998d;--line:#e4e5dc;--accent:#536247;--accent-soft:#e9ede1;--art:#e7e9df;color-scheme:light;font-synthesis:none;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}:root[data-theme=dark]{--bg:#191c18;--sidebar:#161914;--surface:#20241e;--text:#e4e7dd;--muted:#a1a795;--faint:#8b927e;--line:#33392d;--accent:#bfcdac;--accent-soft:#2e3828;--art:#2b3325;color-scheme:dark}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:5px}img{max-width:100%;height:auto}svg{flex-shrink:0}::selection{background:var(--accent-soft)}[hidden]{display:none!important}.skip-link{z-index:9;background:var(--surface);padding:12px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:15px}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;width:236px;padding:42px 25px 23px;display:flex;position:fixed;inset:0 auto 0 0}.identity{align-items:center;gap:13px;margin:0 8px 47px;display:flex}.monogram{background:var(--accent-soft);width:43px;height:43px;color:var(--accent);border:1px solid #cdd3c2;border-radius:12px;justify-content:center;align-items:center;font-family:Georgia,serif;font-size:31px;line-height:1;display:flex}.monogram span{margin-left:1px;font-family:Arial,sans-serif;font-size:25px}.identity strong{margin-bottom:6px;font-size:15px;font-weight:600;display:block}.identity small{color:var(--muted);font-size:12px}nav{flex-direction:column;gap:6px;display:flex}.nav-link{color:var(--muted);border-radius:6px;align-items:center;gap:13px;padding:12px 13px;font-size:14px;transition:background .15s,color .15s;display:flex}.nav-link:hover{color:var(--text);background:var(--accent-soft)}.nav-link.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.sidebar-note{border-top:1px solid var(--line);margin:42px 13px 0;padding-top:26px}.eyebrow{letter-spacing:1.5px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px}.sidebar-note .eyebrow{letter-spacing:1px;font-size:8px}.sidebar-note p{color:var(--muted);margin-top:13px;font-size:12px;line-height:1.95}.sidebar-bottom{margin-top:auto;padding:30px 13px 0}.social-link{color:var(--muted);justify-content:space-between;align-items:center;padding:8px 0;font-size:12px;display:flex}.social-link:hover{color:var(--accent)}.sidebar-tools{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:18px;margin-top:14px;padding-top:20px;display:flex}.sidebar-tools button{background:0 0;border:0;padding:0;display:flex}.sidebar-tools a{display:flex}.sidebar-tools>span{margin-left:auto;font:10px ui-monospace,monospace}.page{max-width:1220px;margin-left:236px;padding:0 70px}.page-top{border-bottom:1px solid var(--line);height:86px;color:var(--muted);justify-content:space-between;align-items:center;font:11px ui-monospace,SFMono-Regular,monospace;display:flex}.page-top>a{color:var(--text);font-size:12px;font-weight:500}.dot{color:var(--accent);margin-left:7px}main{outline:none;min-height:calc(100vh - 176px)}.hero{border-bottom:1px solid var(--line);padding:68px 0 58px;position:relative}.hello{letter-spacing:1.6px;color:var(--accent);align-items:center;gap:9px;font:10px ui-monospace,SFMono-Regular,monospace;display:flex}.tiny-star{font-size:19px}.hero h1{letter-spacing:-2.7px;z-index:1;margin:25px 0 24px;font-family:Georgia,Times New Roman,serif;font-size:clamp(40px,4.7vw,62px);font-weight:400;line-height:1.13;position:relative}.hero h1>span{color:var(--muted)}.hero>p{color:var(--muted);max-width:425px;margin:0 0 22px;font-size:15px;line-height:1.9}.text-link{color:var(--accent);align-items:center;gap:9px;padding:6px 0;font-size:12px;display:inline-flex}.text-link:hover{text-underline-offset:4px;text-decoration:underline}.hero-stamp{border:1px solid var(--line);width:114px;height:138px;color:var(--accent);background:var(--sidebar);border-radius:60% 45% 55% 42%;justify-content:center;align-items:center;display:flex;position:absolute;top:106px;right:10px;transform:rotate(13deg)}.hero-stamp>span{font:80px Georgia,serif;transform:rotate(-13deg)}.hero-stamp>i{color:var(--accent);font-size:35px;font-style:normal;position:absolute;bottom:8px;right:-7px}.home-section{padding-top:34px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:10px;display:flex}.section-heading h2{letter-spacing:-.3px;align-items:center;gap:12px;margin:0;font-size:16px;font-weight:600;display:flex}.section-count{color:var(--faint);border:1px solid var(--line);border-radius:3px;padding:3px 5px;font:10px ui-monospace,monospace}.subtle-link{color:var(--muted);align-items:center;gap:9px;padding:6px 0;font-size:11px;display:inline-flex}.subtle-link:hover{color:var(--accent)}.post-row{border-bottom:1px solid var(--line);grid-template-columns:127px 1fr 20px;gap:20px;padding:25px 0;transition:color .15s;display:grid}.post-row:hover h3{color:var(--accent)}.post-date{color:var(--muted);padding-top:4px;font-size:11px;line-height:1.6}.demo-tag{border:1px solid var(--line);border-radius:3px;margin-top:8px;padding:1px 5px;font:9px ui-monospace,monospace;display:table}.post-info h3{letter-spacing:-.3px;margin:0 0 6px;font-size:16px;font-weight:500;line-height:1.5}.post-info p{color:var(--muted);max-width:490px;margin:0;font-size:14px;line-height:1.8}.post-meta{color:var(--muted);gap:14px;margin-top:13px;font-size:10px;display:flex}.post-meta>span:not(:last-child){color:var(--accent)}.row-arrow{color:var(--faint);padding-top:3px;transition:transform .15s}.post-row:hover .row-arrow{color:var(--accent);transform:translate(2px,-2px)}.projects-section{padding-top:40px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:22px;display:grid}.project-card{border:1px solid var(--line);background:var(--surface);border-radius:7px;overflow:hidden}.project-art{background:var(--art);background-image:radial-gradient(var(--faint) .6px,transparent .6px);background-size:13px 13px;justify-content:center;align-items:center;height:166px;display:flex;position:relative;overflow:hidden}.project-art>img{object-fit:cover;width:100%;height:100%}.project-art-label{letter-spacing:1.5px;color:var(--accent);background:var(--art);padding:4px 5px;font:8px ui-monospace,monospace;position:absolute;bottom:12px;left:15px}.project-symbol{grid-template-columns:1fr 1fr;gap:5px;width:70px;height:70px;display:grid;transform:rotate(-12deg)}.project-symbol>span{border:1px solid var(--accent);background:var(--accent-soft)}.project-symbol>span:first-child{border-radius:40px 40px 0}.project-symbol>span:nth-child(2){border-radius:40px 40px 40px 0}.project-symbol>span:nth-child(3){border-radius:40px 0 40px 40px}.project-symbol>span:nth-child(4){border-radius:0 40px 40px}.project-description{padding:19px 20px}.project-description>div{justify-content:space-between;align-items:center;display:flex}.project-description h3{margin:0;font-size:14px;font-weight:500}.project-description a{color:var(--accent);display:flex}.project-description p{color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.8}.home-endnote{align-items:center;gap:16px;margin:46px 0 30px;padding:20px 0;display:flex}.home-endnote>span{color:var(--accent);font-size:28px}.home-endnote p{margin:0;font-size:12px;line-height:1.8}.home-endnote small{color:var(--muted);font-size:11px}.home-endnote a{text-underline-offset:3px;text-decoration:underline}.footer{border-top:1px solid var(--line);height:90px;color:var(--muted);justify-content:space-between;align-items:center;font-size:10px;display:flex}.footer>span:last-child{align-items:center;gap:14px;display:flex}.footer-mark{color:var(--accent);font-size:20px}.page-heading{padding:61px 0 36px}.page-heading h1{letter-spacing:-1.6px;margin:20px 0 17px;font:46px/1.15 Georgia,serif}.heading-dot{color:var(--accent)}.page-heading p{color:var(--muted);max-width:520px;font-size:14px;line-height:1.8}.archive-controls{flex-direction:column;gap:20px;margin:9px 0 28px;display:flex}.search-field{background:var(--surface);border:1px solid var(--line);color:var(--muted);border-radius:6px;align-items:center;gap:12px;padding:12px 14px;display:flex}.search-field input{color:var(--text);background:0 0;border:none;outline:none;width:100%;min-width:0;font-size:13px}.search-field kbd{border:1px solid var(--line);border-radius:3px;padding:2px 5px;font:10px ui-monospace,monospace}.tag-filters{flex-wrap:wrap;gap:8px;display:flex}.tag-filters button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:5px;padding:7px 12px;font-size:11px}.tag-filters button.selected{color:var(--accent);background:var(--accent-soft);border-color:var(--accent-soft)}.archive-count{color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:0;padding-bottom:13px;font:10px ui-monospace,monospace}.empty-state{color:var(--muted);padding:35px 0;font-size:14px}.all-projects{margin-top:0;margin-bottom:60px}.article{max-width:700px;margin:auto;padding:42px 0 0}.back-link{color:var(--muted);align-items:center;gap:8px;font-size:11px;display:inline-flex}.article-header{padding:45px 0 32px}.article-tags{color:var(--accent);gap:10px;font:10px ui-monospace,monospace;display:flex}.article-header h1{letter-spacing:-1.5px;margin:20px 0 22px;font:46px/1.14 Georgia,serif}.article-meta{color:var(--muted);align-items:center;gap:10px;font-size:11px;display:flex}.demo-notice{color:var(--muted);background:var(--sidebar);border:1px solid var(--line);border-radius:5px;margin-bottom:29px;padding:13px 16px;font-size:11px;line-height:1.6}.article-cover{margin:0 0 32px}.article-cover img{border-radius:6px;width:100%}.article-cover figcaption{color:var(--muted);text-align:center;margin-top:10px;font-size:11px}.prose{overflow-wrap:anywhere;font-size:16px;line-height:1.95}.prose p{margin:0 0 24px}.prose h2{letter-spacing:-.6px;margin:40px 0 20px;font-size:25px;line-height:1.3}.prose h3{margin:32px 0 16px;font-size:20px;line-height:1.4}.prose a{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.prose blockquote{border-left:2px solid var(--accent);color:var(--muted);margin:30px 0;padding:8px 0 8px 24px;font-family:Georgia,serif;font-size:21px}.prose blockquote p:last-child{margin-bottom:0}.prose img{border-radius:6px}.prose ul,.prose ol{margin-bottom:24px;padding-left:24px}.prose li{padding-left:4px}.prose pre{background:var(--sidebar);border:1px solid var(--line);border-radius:6px;padding:20px;font-size:13px;line-height:1.7;overflow:auto}.prose code{background:var(--sidebar);border-radius:3px;padding:2px 4px;font-family:ui-monospace,monospace;font-size:.85em}.prose table{border-collapse:collapse;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);padding:8px 12px}.article-share{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:16px;margin-top:45px;padding:24px 0;font-size:11px;display:flex}.article-share button{color:var(--accent);background:0 0;border:0;align-items:center;gap:8px;margin-left:auto;padding:8px 0;font-size:11px;display:flex}.next-post{border:1px solid var(--line);border-radius:6px;grid-template-columns:1fr auto;gap:14px;max-width:700px;margin:30px auto 60px;padding:24px;display:grid}.next-post>.eyebrow{grid-column:1/-1;font-size:9px}.next-post strong{font-size:15px;font-weight:500}.next-post>svg{color:var(--accent)}.about-prose{max-width:640px;padding:8px 0 24px}.about-contact{border-top:1px solid var(--line);padding:30px 0 60px}.about-contact h2{margin:0 0 15px;font:28px Georgia,serif}.about-socials{gap:22px;margin-top:15px;display:flex}@media (width>=1500px){.page{padding:0 95px}}@media (width<=1100px){.sidebar{width:205px;padding:34px 20px 23px}.page{margin-left:205px;padding:0 40px}.hero-stamp{width:85px;height:105px;top:110px;right:0}.hero-stamp>span{font-size:65px}.hero>p{max-width:360px}.post-row{grid-template-columns:105px 1fr 20px;gap:15px}.hero h1{font-size:50px}}@media (width<=800px){.sidebar{border-right:0;border-bottom:1px solid var(--line);width:auto;padding:20px 24px 12px;display:block;position:relative}.identity{gap:10px;margin:0 0 19px}.monogram{border-radius:9px;width:35px;height:35px;font-size:27px}.identity strong{margin-bottom:4px;font-size:14px}.identity small{font-size:10px}nav{flex-direction:row;gap:4px}.nav-link{gap:7px;padding:9px 11px;font-size:11px}.nav-link svg{width:15px;height:15px}.sidebar-note{display:none}.sidebar-bottom{margin:0;padding:0;position:absolute;top:26px;right:25px}.sidebar-bottom .social-link,.sidebar-tools>a,.sidebar-tools>span{display:none}.sidebar-tools{border:0;margin:0;padding:0}.page{max-width:none;margin:0;padding:0 26px}.page-top{height:58px;font-size:9px}.hero{padding:47px 0 40px}.hero h1{margin-top:22px;font-size:47px}.hero-stamp{width:73px;height:91px;top:77px;right:7px}.hero-stamp>span{font-size:55px}.hero-stamp>i{font-size:27px}.hero>p{max-width:80%;font-size:14px}.page-heading{padding-top:43px}.page-heading h1,.article-header h1{font-size:40px}.post-row{grid-template-columns:95px 1fr 18px;gap:14px}.article{padding-top:29px}.article-header{padding-top:34px}.footer{height:80px}.prose{font-size:16px}}@media (width<=480px){.page{padding:0 22px}.sidebar{padding-left:20px;padding-right:20px}.nav-link{gap:6px;padding:9px;font-size:10px}.hello{letter-spacing:1px;font-size:9px}.hero h1{letter-spacing:-1.7px;font-size:39px}.hero-stamp{display:none}.hero>p{max-width:100%;font-size:13px}.section-heading h2{font-size:14px}.subtle-link{font-size:10px}.post-row{grid-template-columns:1fr 18px;gap:8px;padding:23px 0}.post-date{grid-column:1/-1;align-items:center;gap:12px;font-size:9px;display:flex}.demo-tag{margin-top:0}.post-info h3{font-size:15px}.post-info p{font-size:12px}.row-arrow{align-self:start}.project-grid{grid-template-columns:1fr}.project-art{height:185px}.page-heading h1,.article-header h1{font-size:36px}.page-heading p{font-size:13px}.article-share button{margin-left:0}.footer{font-size:9px}.article-header{padding-bottom:26px}.about-socials{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
