:root{--color-bg:#fcfbfc;--color-surface:#ffffff;--color-text:#2d2d2d;--color-text-muted:#777777;--color-accent:#a87bd8;--color-accent-soft:#c5a3e6;--color-accent-light:#f0e5fc;--color-border:#ececec;--color-quote-bg:#f8f5fb;--color-quote-border:#d1bce6;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:"Manrope", "Geist", var(--font-sans);--font-mono:"JetBrains Mono", "SF Mono", "Menlo", monospace;--spacing-xs:0.5rem;--spacing-s:1rem;--spacing-m:1.5rem;--spacing-l:2rem;--spacing-xl:3rem;--radius:10px;--max-width:720px;--max-width-content:840px;--max-width-wide:960px;--accent-gradient:linear-gradient(
    90deg,
    var(--color-accent),
    var(--color-accent-soft)
  )}@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Manrope:wght@500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;font-size:16px;position:relative}body::before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient( circle,var(--color-accent-light),2px,transparent 1px );background-size:30px 30px;opacity:.6;pointer-events:none;z-index:-1}main{max-width:var(--max-width-wide);margin-left:auto;margin-right:auto;padding:var(--spacing-l)var(--spacing-s);position:relative}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.3;color:var(--color-text)}h1{font-size:2.2rem;margin-bottom:var(--spacing-m)}h2{font-size:1.6rem;margin:var(--spacing-xl)0 var(--spacing-m);position:relative;display:inline-block}h2::after{content:"";position:absolute;bottom:-.5rem;left:0;width:48px;height:2px;background:var(--accent-gradient);border-radius:1px}h3{font-size:1.25rem;margin:var(--spacing-l)0 var(--spacing-s)}p{margin-bottom:var(--spacing-m)}a{color:var(--color-accent);text-decoration:none;font-weight:500}a:hover{text-decoration:underline}header{max-width:var(--max-width);margin:0 auto var(--spacing-l);padding:var(--spacing-m)var(--spacing-s);background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);text-align:center;box-shadow:0 2px 6px rgba(0,0,0,3%)}header nav{display:flex;justify-content:center;gap:var(--spacing-l)}header nav a{color:var(--color-text);font-weight:500;font-size:.95rem;padding:var(--spacing-xs)var(--spacing-s);border-radius:6px}header nav a:hover{background-color:var(--color-accent-light);color:var(--color-accent)}footer{max-width:var(--max-width);margin:var(--spacing-xl)auto 0;background:var(--color-surface);padding-top:var(--spacing-m);border-top:1px solid var(--color-border);border-radius:var(--radius);text-align:center;color:var(--color-text-muted);font-size:1rem}.hero{display:flex;align-items:center;gap:var(--spacing-l);margin-bottom:var(--spacing-xl);background:var(--color-surface);padding:var(--spacing-l);border-radius:var(--radius);border:1px solid var(--color-border);box-shadow:0 4px 12px rgba(0,0,0,2%)}.hero-content h1{font-size:2rem;margin-bottom:var(--spacing-s);background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-text{color:var(--color-text-muted);margin-bottom:var(--spacing-m);line-height:1.7}.hero-links{display:flex;gap:var(--spacing-m)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;background:var(--color-accent);color:#fff;text-decoration:none;border-radius:var(--radius);font-weight:500;font-size:.95rem;transition:opacity .2s}.btn:hover{opacity:.92}.btn-secondary{background:0 0;border:2px solid var(--color-accent);color:var(--color-accent)}.btn-secondary:hover{background:var(--color-accent-light);color:var(--color-text)}.hero-image{flex-shrink:0}.hero-image img{width:200px;height:200px;border-radius:50%;object-fit:cover;border:3px solid var(--color-surface);box-shadow:0 6px 16px rgba(168,123,216,.15)}.interests-grid,.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--spacing-m);margin-bottom:var(--spacing-xl)}.interest-card,.project-card{background:var(--color-surface);padding:var(--spacing-m);border-radius:var(--radius);border:1px solid var(--color-border);transition:transform .2s,box-shadow .2s;box-shadow:0 2px 6px rgba(0,0,0,3%)}.interest-card:hover,.project-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,6%)}.interest-icon{font-size:2rem;margin-bottom:var(--spacing-s)}.interest-card h3,.project-card h3{font-size:1.1rem;margin-bottom:var(--spacing-xs)}.interest-card p,.project-card p{font-size:.95rem;color:var(--color-text-muted);line-height:1.6}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--spacing-s)}.tech-tag{background:var(--color-accent-light);color:var(--color-accent);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-family:var(--font-mono);font-weight:500}.posts-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-l)}.post-card{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);overflow:hidden;box-shadow:0 2px 6px rgba(0,0,0,3%);transition:transform .2s}.post-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,6%)}.post-card a{color:var(--color-text);text-decoration:none}.post-card a:hover{text-decoration:none}.post-card a:hover h3{color:var(--color-accent)}.post-preview-image{width:100%;aspect-ratio:16/9;object-fit:cover;background-color:#fafafa}.post-content{padding:var(--spacing-m)}.post-card h3{margin-bottom:var(--spacing-xs);transition:color .2s}.post-meta{font-size:.85rem;color:var(--color-text-muted);font-family:var(--font-mono);margin-bottom:var(--spacing-s)}.post-excerpt{color:var(--color-text-muted);font-size:.95rem;line-height:1.6}.post-preview{margin-bottom:1rem}article{background:var(--color-surface);padding:var(--spacing-xl)var(--spacing-l);border-radius:var(--radius);box-shadow:0 2px 6px rgba(0,0,0,3%);border:1px solid var(--color-border);max-width:var(--max-width-content);margin:0 auto}article h1:first-child,article>h1{text-align:center;font-size:2.2rem;margin-bottom:var(--spacing-s);color:var(--color-text);font-weight:600;line-height:1.3}article time:first-of-type,article>time{display:block;text-align:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-m);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-mono);font-size:.9rem}article .content h2,article .content h3,article .content h4{margin-top:2.5rem;margin-bottom:1.2rem;font-weight:600}article .content h2{font-size:1.6rem;padding-top:.5rem}article .content h2::after{display:none}article .content h3{font-size:1.3rem}article .content h4{font-size:1.15rem}article .content p{margin-bottom:1.4rem;text-align:justify;line-height:1.8;hyphens:auto}article .content p:first-of-type{margin-top:0}article .content ul,article .content ol{margin:1.5rem 0 1.8rem 2rem;padding-left:.5rem}article .content li{margin-bottom:.6rem;line-height:1.7}article .content ul li::before{font-weight:700;display:inline-block;width:1em;margin-left:-1em}article .content ol{list-style-type:decimal}article .content blockquote{margin:2rem 0;padding:1.2rem 1.6rem;border-left:4px solid var(--color-quote-border);background-color:var(--color-quote-bg);border-radius:0 8px 8px 0;font-style:italic;color:var(--color-text);position:relative}article .content blockquote::before{content:'"';position:absolute;top:-.2rem;left:.8rem;font-size:3rem;color:var(--color-quote-border);opacity:.3;font-family:Georgia,serif}article .content blockquote p{margin-bottom:0;text-align:left;padding-left:2rem}article .content code{font-family:var(--font-mono);font-size:.9em;background:#f6f6f9;padding:.15em .4em;border-radius:4px;border:1px solid #eee}article .content pre{margin:2rem 0;padding:1.2rem;background:#f9f9fb;border:1px solid var(--color-border);border-radius:var(--radius);overflow-x:auto;font-family:var(--font-mono);font-size:.92rem;line-height:1.5}article .content pre code{font-size:inherit;background:0 0;padding:0;border:none}article .content img{max-width:100%;height:auto;border-radius:8px;margin:2rem auto;display:block}article .content img+em,article .content figcaption{display:block;text-align:center;font-size:.9rem;color:var(--color-text-muted);margin-top:-1rem;margin-bottom:1.5rem}article .content a{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-thickness .2s}article .content a:hover{text-decoration-thickness:2px}article .content hr{margin:2.5rem 0;border:none;border-top:1px solid var(--color-border)}article .content{font-size:1.05rem;line-height:1.75;color:var(--color-text)}article img{max-width:100%;height:auto;border-radius:8px;margin:1.5rem 0}@media(max-width:768px){.hero{flex-direction:column;text-align:center}.hero-links{justify-content:center}h1{font-size:1.8rem}h2{font-size:1.4rem}.post-preview-image{aspect-ratio:4/3}article{padding:var(--spacing-l)var(--spacing-m)}article>h1{font-size:1.8rem}}.text-center{text-align:center}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.comments-section{max-width:var(--max-width-content);margin:var(--spacing-xl)auto 0;padding:var(--spacing-l);background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);box-shadow:0 2px 6px rgba(0,0,0,3%)}.comments-section h3{margin-top:0;margin-bottom:var(--spacing-m);font-size:1.3rem;color:var(--color-text)}