:root{--bg: #FAF9F6;--bg-alt: #F0EFEA;--text-main: #1A1A1A;--text-muted: #5C5C5C;--accent: #8B2635;--accent-hover: #5A1822;--border: #E5E5E5;--font-body: "Source Serif 4", Georgia, serif;--font-heading: "Newsreader", "Times New Roman", serif;--font-meta: "Source Serif 4", Georgia, serif;--font-mono: "IBM Plex Mono", monospace}[data-theme=dark]{--bg: #141312;--bg-alt: #1E1C1A;--text-main: #E8E6E1;--text-muted: #9C9791;--accent: #D95C6C;--accent-hover: #E67A88;--border: #2D2A28}@property --sweep-r{syntax: "<percentage>"; inherits: false; initial-value: 0%;}@keyframes sweep-in{0%{--sweep-r: 0%}to{--sweep-r: 220%}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation:fade-out .85s cubic-bezier(.22,.61,.36,1) both;mix-blend-mode:normal}::view-transition-new(root){mask-image:radial-gradient(circle at var(--vt-x, 50%) var(--vt-y, 0%),black calc(var(--sweep-r) - 35%),transparent var(--sweep-r));animation:sweep-in .85s cubic-bezier(.22,.61,.36,1) both;mix-blend-mode:normal}}*{box-sizing:border-box}html{scroll-behavior:smooth;font-size:18px}body{margin:0;font-family:var(--font-body);background-color:var(--bg);color:var(--text-main);line-height:1.7}a{color:var(--accent);text-decoration:none;transition:all .2s ease;border-bottom:1px solid transparent}a:hover{border-bottom-color:var(--accent)}img{max-width:100%;display:block}h1,h2,h3,h4,h5,h6{margin:0}.shell{max-width:920px;margin:0 auto;padding:40px 24px 0}.site-header{display:flex;justify-content:flex-end;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--border);margin-bottom:48px}.brand{display:flex;flex-direction:column}.brand strong{font-family:var(--font-heading);font-weight:600;font-size:1.2rem;color:var(--text-main);letter-spacing:.02em}.brand small{font-family:var(--font-body);font-style:italic;font-size:.9rem;color:var(--text-muted);margin-top:4px}.nav{display:flex;gap:4px}.nav a{font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted);text-transform:lowercase;border:1px solid transparent;padding:4px 8px;border-radius:4px;transition:all .2s ease}.nav a:before{content:"[";color:var(--border);opacity:0;margin-right:2px;display:inline-block;transition:opacity .15s ease}.nav a:after{content:"]";color:var(--border);opacity:0;margin-left:2px;display:inline-block;transition:opacity .15s ease}@keyframes bracket-in-left{0%{opacity:0;transform:translate(-14px)}35%{opacity:1}to{opacity:1;transform:translate(0)}}@keyframes bracket-in-right{0%{opacity:0;transform:translate(14px)}35%{opacity:1}to{opacity:1;transform:translate(0)}}.nav a:hover{color:var(--accent);background:var(--bg-alt)}.nav a:hover:before{opacity:1;color:var(--accent);animation:bracket-in-left .32s cubic-bezier(.33,1,.68,1) forwards}.nav a:hover:after{opacity:1;color:var(--accent);animation:bracket-in-right .32s cubic-bezier(.33,1,.68,1) forwards}.hero{margin-bottom:48px;display:flex;flex-direction:row;align-items:flex-start;gap:32px}.hero img{width:140px;height:140px;border-radius:50%;object-fit:cover;margin-bottom:0;border:4px solid var(--border);flex-shrink:0}.muted{font-family:var(--font-meta);font-size:.98rem;color:var(--text-muted);line-height:1.6}.hero .muted{margin-bottom:16px}.hero h1,.page-title{font-family:var(--font-heading);font-style:italic;font-weight:400;font-size:2rem;color:var(--text-main);margin:0 0 16px;line-height:1.1}.hero p{font-size:1.1rem;color:var(--text-main);margin-bottom:24px;max-width:760px}.hero p:nth-of-type(1){font-size:1.2rem;color:var(--text-main)}.socials{display:flex;gap:16px;margin-top:24px;flex-wrap:wrap}.socials .pill{font-family:var(--font-mono);font-size:.85rem;color:var(--text-muted);text-decoration:none;transition:all .2s ease}.socials .pill:hover{color:var(--text-main);border-bottom-color:var(--text-main)}.hero-actions{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap;justify-content:center}.button,.pill{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:.85rem;padding:8px 16px;color:var(--text-main);text-decoration:none;border:1px solid var(--border);background:transparent;transition:all .2s ease}.button.primary{color:var(--accent);border-color:var(--accent)}.button:hover,.pill:hover{background:var(--bg-alt);border-color:var(--text-muted)}.panel{margin-bottom:16px}.panel h2{font-family:var(--font-heading);font-weight:400;font-size:1.8rem;color:var(--text-main);margin:0 0 4px}.split{display:block;margin-bottom:48px}.split .panel{margin-bottom:16px}.grid{display:grid;grid-template-columns:1fr;gap:16px}.article-card,.project-card,.experience-card,.timeline-item{padding:14px 24px 8px;border:none;border-bottom:1px solid var(--border);position:relative;transition:transform .25s cubic-bezier(.22,.61,.36,1);display:block;color:inherit;text-decoration:none}.article-card:before,.project-card:before,.experience-card:before,.timeline-item:before{content:"";position:absolute;top:0;left:0;bottom:0;width:3px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .3s cubic-bezier(.22,.61,.36,1)}a.article-card,a.project-card{cursor:pointer}a.article-card:hover,a.project-card:hover{border-bottom-color:transparent}.article-card:hover,.project-card:hover,.experience-card:hover,.timeline-item:hover{transform:translate(4px)}.article-card:hover:before,.project-card:hover:before,.experience-card:hover:before,.timeline-item:hover:before{transform:scaleY(1)}.article-card:last-child,.project-card:last-child,.experience-card:last-child,.timeline-item:last-child{border-bottom:none}.article-card img,.project-card img,.timeline-item img{display:none}.org-logo img{display:block!important}.article-card h3,.project-card h3,.timeline-item h3,.article-card h2,.project-card h2,.timeline-item h2{font-family:var(--font-heading);font-weight:600;font-size:1.3rem;margin:0 0 8px;line-height:1.3;transition:color .25s ease}.article-card:hover h3,.project-card:hover h3,.timeline-item:hover h3,.article-card:hover h2,.project-card:hover h2,.timeline-item:hover h2{color:var(--accent)}.article-card p:last-child,.project-card p:last-child,.experience-card p:last-child,.timeline-item p:last-child{margin-bottom:0}.article-card h2 a,.project-card h2 a,.timeline-item h2 a,.article-card h3 a,.project-card h3 a,.timeline-item h3 a{color:var(--text-main);border-bottom:none}.article-card h2 a:hover,.project-card h2 a:hover,.timeline-item h2 a:hover,.article-card h3 a:hover,.project-card h3 a:hover,.timeline-item h3 a:hover{color:var(--accent);border-bottom:none}.meta{font-family:var(--font-meta);font-size:.95rem;color:var(--text-muted);line-height:1.5;margin-bottom:12px}.site-footer{margin-top:16px;padding-top:16px;padding-bottom:16px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;align-items:center}.site-footer strong{font-family:var(--font-heading);font-weight:600;color:var(--text-main)}.site-footer .meta{margin-top:4px;font-size:.8rem;font-family:var(--font-meta)}.article-body pre{margin:2rem 0;padding:1.25rem 1.5rem;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:0 2px 2px 0;overflow-x:auto;font-family:var(--font-mono);font-size:.82rem;line-height:1.75;box-shadow:0 1px 4px #0000000f}.article-body pre code{font-family:var(--font-mono);font-size:inherit;background:transparent!important;border:none;padding:0;color:inherit}.article-body :not(pre)>code{font-family:var(--font-mono);font-size:.84em;background:var(--bg-alt);border:1px solid var(--border);color:var(--accent);padding:2px 6px;border-radius:2px}@media(max-width:600px){.site-header{flex-direction:column;gap:16px}.hero{flex-direction:column;align-items:center;text-align:center}.hero p{text-align:center}.socials{justify-content:center}.nav{flex-wrap:wrap}.hero h1{font-size:1.8rem}.site-footer{flex-direction:column;gap:24px}}#theme-toggle[data-astro-cid-37fxchfa]{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:4px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;margin-left:8px;flex-shrink:0;transition:color .2s ease,border-color .2s ease,background .2s ease}#theme-toggle[data-astro-cid-37fxchfa]:hover{color:var(--accent);background:var(--bg-alt);border-color:var(--accent)}#icon-sun[data-astro-cid-37fxchfa]{display:none}#icon-moon[data-astro-cid-37fxchfa],[data-astro-cid-37fxchfa][data-theme=dark] #icon-sun[data-astro-cid-37fxchfa]{display:block}[data-astro-cid-37fxchfa][data-theme=dark] #icon-moon[data-astro-cid-37fxchfa]{display:none}.site-footer[data-astro-cid-37fxchfa] .socials[data-astro-cid-37fxchfa]{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-end;margin-top:0}.site-footer[data-astro-cid-37fxchfa] .socials[data-astro-cid-37fxchfa] .pill[data-astro-cid-37fxchfa]{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);transition:all .2s ease;padding:0;line-height:0}.site-footer[data-astro-cid-37fxchfa] .socials[data-astro-cid-37fxchfa] .pill[data-astro-cid-37fxchfa] span[data-astro-cid-37fxchfa]{display:flex;align-items:center;justify-content:center}.site-footer[data-astro-cid-37fxchfa] .socials[data-astro-cid-37fxchfa] .pill[data-astro-cid-37fxchfa] svg[data-astro-cid-37fxchfa]{width:20px;height:20px;display:block}.site-footer[data-astro-cid-37fxchfa] .socials[data-astro-cid-37fxchfa] .pill[data-astro-cid-37fxchfa]:hover{background:var(--bg-alt);border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}
