:root{--kasa-page: #FBFAF6;--kasa-page-warm: #F6F2EA;--kasa-card: #FFFFFF;--kasa-ink: #0A0A0A;--kasa-ink2: #1F1F22;--kasa-muted: #6E6E72;--kasa-faint: #9A9A9F;--kasa-hair: rgba(10, 10, 10, .14);--kasa-hair2: rgba(10, 10, 10, .07);--kasa-rule: #0A0A0A;--kasa-accent: #C92E3A;--kasa-accent-ink: #7B1A24;--kasa-accent-soft: #F4E6E8;--kasa-success: #1F6B3B;--font-serif: "EB Garamond", "Garamond Premier Pro", Garamond, Georgia, serif;--font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;--font-sans: "Inter", "Geist", system-ui, -apple-system, sans-serif;--radius: 2px;--edge: 56px;--content-max: 1240px;--reading-font-size: 17px;--reading-width: 680px}[data-theme=dark]{--kasa-page: #0B0B10;--kasa-page-warm: #15151C;--kasa-card: #15151C;--kasa-ink: #F4F4F8;--kasa-ink2: #E2E2EA;--kasa-muted: #9A9AA8;--kasa-faint: #6E6E78;--kasa-hair: rgba(255, 255, 255, .12);--kasa-hair2: rgba(255, 255, 255, .06);--kasa-rule: rgba(255, 255, 255, .2);--kasa-accent-soft: #2A1A1E}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:clip}body{font-family:var(--font-serif);font-size:var(--reading-font-size);line-height:1.65;color:var(--kasa-ink);background:var(--kasa-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--kasa-ink);text-decoration:none}a:hover{color:var(--kasa-accent)}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;letter-spacing:-.3px}.container{max-width:var(--content-max);margin:0 auto;padding:0 var(--edge)}.container--narrow{max-width:760px}.kicker{font:500 10px var(--font-mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--kasa-muted)}.kicker--accent{color:var(--kasa-accent)}.mono{font-family:var(--font-mono)}.hairline{border-bottom:1px solid var(--kasa-hair)}.double-rule{border-bottom:3px double var(--kasa-rule)}.header{padding:48px 0 24px;margin-bottom:32px;border-bottom:3px double var(--kasa-rule);color:var(--kasa-ink)}.header-content{display:flex;align-items:flex-end;gap:40px}.profile-info{flex:1}.name{font-size:4rem;font-weight:500;letter-spacing:-2px;line-height:.95}.title{font:400 1.2rem var(--font-serif);font-style:italic;color:var(--kasa-muted);margin-top:10px}.contact-info{display:flex;flex-wrap:wrap;gap:20px;margin-top:18px}.contact-item{display:inline-flex;align-items:center;gap:6px;font:400 12px var(--font-mono);letter-spacing:.3px;color:var(--kasa-muted)}.contact-item:hover{color:var(--kasa-accent)}.main{margin-bottom:56px}.section{margin-bottom:40px}.section-title{display:flex;align-items:baseline;gap:12px;font-size:1.8rem;font-weight:500;margin-bottom:24px;padding-bottom:8px;border-bottom:1px solid var(--kasa-rule)}.projects-container{display:grid;gap:0}.project-card{background:transparent;border:none;border-bottom:1px solid var(--kasa-hair);border-radius:0;padding:24px 0;box-shadow:none}.project-card:hover{transform:none;box-shadow:none}.project-header{margin-bottom:14px}.project-title{font-size:1.5rem;font-weight:500;line-height:1.2}.project-title a{color:inherit}.project-title a:hover{color:var(--kasa-accent)}.project-period{display:inline-block;font:400 12px var(--font-mono);color:var(--kasa-muted);background:transparent;border:none;padding:0;margin-top:4px}.project-link{display:inline-flex;align-items:center;gap:6px;margin-left:12px;font:500 11px var(--font-sans);letter-spacing:1px;text-transform:uppercase;color:var(--kasa-accent)}.project-link:hover{text-decoration:underline}.project-description{color:var(--kasa-ink2);margin:12px 0 20px;line-height:1.6}.project-section{margin-bottom:18px}.project-section:last-child{margin-bottom:0}.project-section-title{display:flex;align-items:center;gap:8px;font:500 10px var(--font-mono);letter-spacing:1.4px;text-transform:uppercase;color:var(--kasa-ink);margin-bottom:10px}.project-section-title:before{content:none}.project-list{list-style:none;padding:0}.project-list li{position:relative;padding-left:18px;margin-bottom:6px;color:var(--kasa-ink2);line-height:1.6}.project-list li:before{content:"—";position:absolute;left:0;color:var(--kasa-muted)}.page-head{padding:40px 0 20px;margin-bottom:28px;border-bottom:3px double var(--kasa-rule);color:var(--kasa-ink)}.page-head h1{font-size:3rem;font-weight:500;letter-spacing:-1.5px}.page-head p{font-style:italic;color:var(--kasa-muted);margin-top:6px}.post-list{display:grid;gap:0}.post-card{display:block;background:transparent;border:none;border-bottom:1px solid var(--kasa-hair);border-radius:0;padding:20px 0;box-shadow:none;color:inherit}.post-card:hover{transform:none;box-shadow:none}.post-card:hover h2{color:var(--kasa-accent)}.post-card h2{font-size:1.5rem;font-weight:500;line-height:1.2;margin-bottom:6px}.post-card .post-meta{font:400 12px var(--font-mono);color:var(--kasa-muted);margin-bottom:8px}.post-card .post-excerpt{color:var(--kasa-ink2);line-height:1.6}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.tag-chip{font:500 10px var(--font-sans);letter-spacing:.6px;text-transform:uppercase;color:var(--kasa-ink2);background:transparent;border:1px solid var(--kasa-hair);border-radius:var(--radius);padding:4px 10px}.tag-chip:hover{border-color:var(--kasa-accent);color:var(--kasa-accent)}.article-head{margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--kasa-hair)}.article-head h1{font-size:2.6rem;font-weight:500;line-height:1.1;letter-spacing:-1px;margin-bottom:10px}.article-meta{font:400 12px var(--font-mono);color:var(--kasa-muted)}.prose{color:var(--kasa-ink);font-size:var(--reading-font-size);line-height:1.75;max-width:var(--reading-width)}.prose h2{font-size:1.7rem;font-weight:500;font-style:italic;margin:36px 0 12px;padding-bottom:0;border:none}.prose h3{font-size:1.35rem;font-weight:500;margin:24px 0 10px}.prose p{margin:0 0 16px}.prose ul,.prose ol{margin:0 0 16px 22px}.prose li{margin-bottom:6px}.prose a{color:var(--kasa-accent);text-decoration:underline;text-underline-offset:2px}.prose blockquote{border-left:2px solid var(--kasa-accent);padding:2px 0 2px 16px;margin:0 0 16px;color:var(--kasa-muted);font-style:italic;background:transparent;border-radius:0}.prose code{font:.88em var(--font-mono);background:var(--kasa-accent-soft);border:none;border-radius:var(--radius);padding:1px 5px}.prose pre{background:var(--kasa-ink);color:#f4f4f8;padding:18px;border-radius:0;overflow-x:auto;margin:0 0 18px;font:.85rem var(--font-mono);line-height:1.55}.prose pre code{background:none;padding:0;color:inherit}.prose img{max-width:100%;height:auto;border-radius:0}.prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.prose p,.prose li,.prose h2,.prose h3{overflow-wrap:anywhere}.prose--dropcap>p:first-of-type:first-letter{font-size:3.6em;font-weight:500;float:left;line-height:.78;margin:6px 10px 0 0}.article-footer{margin-top:40px;padding-top:20px;border-top:3px double var(--kasa-rule)}.search-wrap{margin-bottom:28px}.footer{background:transparent;color:var(--kasa-muted);text-align:center;padding:28px 0;margin-top:56px;border-top:1px solid var(--kasa-hair);font:italic 400 13px var(--font-serif)}@media(max-width:768px){:root{--edge: 20px}body{padding-bottom:64px}.header-content{flex-direction:column;align-items:flex-start;gap:20px}.name{font-size:2.6rem}.contact-info{flex-direction:column;gap:10px}.section-title{font-size:1.5rem}.page-head h1{font-size:2.2rem}.article-head h1{font-size:1.9rem}}.fade-in{animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media print{.site-header,.language-toggle,.search-wrap,.footer{display:none!important}.header{page-break-inside:avoid;border-bottom:1px solid #000}.project-card{page-break-inside:avoid;margin-bottom:16px}body{font-size:12px;line-height:1.4;background:#fff}.container{max-width:none;margin:0;padding:0}}
