:root{--color-bg:#fcfbfc;--color-surface:#ffffff;--color-text:#2d2d2d;--color-text-muted:#777777;--color-accent:#d59ffc;--color-accent-soft:#e4b9fc;--color-accent-light:#f0e5fc;--color-border:#f0f0f0;--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:1;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:-.4rem;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(213,159,252,.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-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)}.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-m);border-radius:var(--radius);box-shadow:0 2px 6px rgba(0,0,0,3%);border:1px solid var(--color-border)}article .content h2,article .content h3,article .content h4{margin-top:2.2rem;margin-bottom:1rem;font-weight:600}article .content h2{font-size:1.5rem}article .content h3{font-size:1.3rem}article .content h4{font-size:1.15rem}article .content p{margin-bottom:1.2rem;text-indent:2rem}article .content ul,article .content ol{margin:1.2rem 0 1.5rem 1.8rem;padding-left:.4rem}article .content li{margin-bottom:.5rem;line-height:1.6}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:1.8rem 0;padding:.8rem 1.4rem;border-left:3px solid var(--color-accent-soft);background-color:var(--color-accent-light);border-radius:0 6px 6px 0;font-style:italic;color:var(--color-text)}article .content blockquote p{margin-bottom:0}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:1.6rem 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:1.5rem 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:-.8rem;margin-bottom:1.2rem}article .content a{color:var(--color-accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}article .content a:hover{text-decoration-thickness:2px}article time{display:block;margin-bottom:var(--spacing-l);color:var(--color-text-muted);font-family:var(--font-mono)}article .content{font-size:1.05rem;line-height:1.7;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}}.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)}