:root{--bg-color: #0d0f12;--surface-color: #1a1e23;--surface-hover: #23282f;--text-main: #f0f4f8;--text-muted: #9ba4b5;--text-accent: #38bdf8;--border-color: rgba(255, 255, 255, .08);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, Monaco, monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--text-accent);text-decoration:none;transition:color .2s ease,opacity .2s ease}a:hover{text-decoration:underline;text-decoration-color:var(--text-accent);text-underline-offset:4px}.container{max-width:800px;margin:0 auto;padding:2rem 1.5rem}header{margin-bottom:4rem;padding-bottom:2rem;border-bottom:1px solid var(--border-color)}.site-title{font-size:1.5rem;font-weight:700;color:var(--text-main);margin-bottom:.5rem}.site-title a{color:inherit}.site-title a:hover{text-decoration:none}nav{display:flex;gap:1.5rem;margin-top:1rem}nav a{color:var(--text-muted);font-weight:500}nav a:hover{color:var(--text-main);text-decoration:none}section{margin-bottom:4rem}.section-title{font-size:1.2rem;font-weight:600;color:var(--text-main);margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem}.section-title:before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background-color:var(--text-accent)}.projects-grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media(min-width:600px){.projects-grid{grid-template-columns:repeat(2,1fr)}}.project-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:transform .2s ease,background-color .2s ease,border-color .2s ease;display:flex;flex-direction:column;height:100%}.project-card:hover{transform:translateY(-4px);background-color:var(--surface-hover);border-color:#ffffff26}.project-title{font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.project-description{color:var(--text-muted);font-size:.95rem;margin-bottom:1rem;flex-grow:1}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.tag{background-color:#38bdf81a;color:var(--text-accent);padding:.2rem .6rem;border-radius:20px;font-size:.75rem;font-weight:500;font-family:var(--font-mono)}.post-list{display:flex;flex-direction:column;gap:1.5rem}.post-item{display:flex;flex-direction:column;gap:.25rem}.post-item-title{font-size:1.1rem;font-weight:600}.post-item-date{color:var(--text-muted);font-size:.85rem;font-family:var(--font-mono)}.post-item-desc{max-width:600px;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.6rem 1.2rem;border-radius:8px;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);font-family:var(--font-sans)}.btn-primary{background-color:var(--text-accent);color:var(--bg-color);box-shadow:0 4px 14px #38bdf840}.btn-primary:hover{background-color:#55cbfb;transform:translateY(-2px);box-shadow:0 6px 20px #38bdf866;color:var(--bg-color);text-decoration:none}.btn-secondary{background-color:var(--surface-color);color:var(--text-main);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--surface-hover);border-color:#ffffff26;transform:translateY(-2px);color:var(--text-main);text-decoration:none}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) forwards}footer{text-align:center;padding:2rem 0;color:var(--text-muted);font-size:.85rem;border-top:1px solid var(--border-color);margin-top:4rem}.footer-icon{color:var(--text-muted);transition:color .2s ease,transform .2s ease}.footer-icon:hover{color:var(--text-main);transform:scale(1.1)}.prose{max-width:650px}.prose h1{margin-top:2rem;margin-bottom:1rem}.prose h2{margin-top:2rem;margin-bottom:1rem;font-size:1.5rem}.prose p{margin-bottom:1rem;color:var(--text-muted)}.prose ul,.prose ol{margin-bottom:1rem;padding-left:1.5rem;color:var(--text-muted)}.prose li{margin-bottom:.5rem}.prose strong{color:var(--text-main)}.prose code{background-color:var(--surface-color);padding:.2rem .4rem;border-radius:4px;font-family:var(--font-mono);font-size:.85em;color:var(--text-accent)}
