*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#0a0a0c;--surface:#111115;--surface2:#18181d;--border:#242429;--text:#e8e6e3;--text2:#9a9898;--text3:#5a5a5d;--accent:#c9a55a;--accent2:#a68638}
body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:#e0c07a}
.container{max-width:1080px;margin:0 auto;padding:0 2rem}
nav{padding:1.5rem 0;border-bottom:1px solid var(--border)}
nav .container{display:flex;justify-content:space-between;align-items:center}
.logo{font-size:1.1rem;font-weight:700;letter-spacing:-.02em}.logo span{color:var(--accent)}.logo a{color:var(--text)}.logo a:hover{color:var(--text)}
.nav-right{display:flex;align-items:center;gap:2rem}
.nav-links{display:flex;gap:1.5rem}.nav-links a{color:var(--text2);font-size:.875rem;font-weight:500}.nav-links a:hover{color:var(--text)}
.visitor-count{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--text3);background:var(--surface);padding:.35rem .75rem;border-radius:6px;border:1px solid var(--border)}.visitor-count span{color:var(--text2)}
.hero{padding:4rem 0 3rem}.hero h1{font-size:2.5rem;font-weight:700;letter-spacing:-.03em;margin-bottom:.5rem}.hero h1 span{color:var(--accent)}.hero p{color:var(--text2);font-size:1.05rem;max-width:600px;margin-bottom:1.5rem}
.hero-tags{display:flex;gap:.5rem;flex-wrap:wrap}.hero-tags span{font-size:.75rem;color:var(--text2);background:var(--surface);border:1px solid var(--border);padding:.3rem .7rem;border-radius:4px;font-family:'JetBrains Mono',monospace}
.section{padding:3rem 0}.section-header{display:flex;align-items:baseline;margin-bottom:1.5rem}.section-title{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text2)}.section-line{flex:1;height:1px;background:var(--border);margin-left:1rem}
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.project-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.75rem;transition:border-color .3s,transform .2s;cursor:pointer;position:relative;overflow:hidden;display:block;color:var(--text)}.project-card:hover{border-color:var(--accent2);transform:translateY(-2px);color:var(--text)}.project-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .3s}.project-card:hover::before{opacity:1}
.project-tag{font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem;display:inline-block}
.project-card h3{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}.project-card p{color:var(--text2);font-size:.85rem;line-height:1.55;margin-bottom:1rem}
.project-tech{display:flex;gap:.4rem;flex-wrap:wrap}.project-tech span{font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--text3);background:var(--surface2);padding:.2rem .5rem;border-radius:3px}
.blog-list{display:flex;flex-direction:column}.blog-entry{padding:1.25rem 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;transition:background .2s;color:var(--text)}.blog-entry:first-child{border-top:1px solid var(--border)}.blog-entry:hover{background:var(--surface);margin:0 -1rem;padding:1.25rem 1rem;border-radius:6px;border-color:transparent}
.blog-content{flex:1}.blog-content h3{font-size:.95rem;font-weight:600;margin-bottom:.3rem}.blog-content p{color:var(--text2);font-size:.82rem;line-height:1.5}
.blog-category{font-family:'JetBrains Mono',monospace;font-size:.65rem;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;padding-top:.15rem}
.article{padding:4rem 0 3rem}.article-back{font-size:.85rem;color:var(--text3);display:inline-flex;align-items:center;gap:.4rem;margin-bottom:2rem}.article-back:hover{color:var(--text2)}
.article-tag{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;display:inline-block}
.article h1{font-size:2rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1rem;max-width:700px}
.article-meta{color:var(--text3);font-size:.85rem;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}
.article-body{max-width:700px}.article-body p{color:var(--text2);font-size:.95rem;line-height:1.75;margin-bottom:1.5rem}
.article-body h2{font-size:1.25rem;font-weight:700;margin:2.5rem 0 1rem;color:var(--text)}
.article-body h3{font-size:1.05rem;font-weight:600;margin:2rem 0 .75rem;color:var(--text)}
.article-body code{font-family:'JetBrains Mono',monospace;font-size:.85rem;background:var(--surface);padding:.15rem .4rem;border-radius:3px;border:1px solid var(--border)}
.article-body pre{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin:1.5rem 0;overflow-x:auto}.article-body pre code{background:none;border:none;padding:0;font-size:.82rem;line-height:1.6;color:var(--text2)}
.article-body ul,.article-body ol{color:var(--text2);font-size:.95rem;margin:0 0 1.5rem 1.5rem;line-height:1.75}.article-body li{margin-bottom:.35rem}
.article-body blockquote{border-left:2px solid var(--accent);padding-left:1.25rem;margin:1.5rem 0;color:var(--text2);font-style:italic}
footer{padding:2.5rem 0;border-top:1px solid var(--border);margin-top:2rem}footer .container{display:flex;justify-content:space-between;align-items:center}
.footer-left{font-size:.8rem;color:var(--text3)}.footer-links{display:flex;gap:1.5rem}.footer-links a{color:var(--text3);font-size:.8rem}.footer-links a:hover{color:var(--text2)}
@media(max-width:768px){.projects-grid{grid-template-columns:1fr}.hero h1{font-size:1.8rem}.article h1{font-size:1.5rem}.blog-entry{flex-direction:column;gap:.5rem}.nav-links{display:none}footer .container{flex-direction:column;gap:.5rem;text-align:center}}
