*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d1117;--bg-elevated: #161b22;--bg-sidebar: #0a0e13;--text: #c9d1d9;--text-bright: #e6edf3;--text-muted: #8b949e;--accent: #58a6ff;--accent-glow: #79c0ff;--accent-green: #3fb950;--accent-orange: #d2991d;--accent-purple: #a371f7;--accent-red: #f85149;--border: #21262d;--border-bright: #30363d;--code-bg: #1c2128;--sidebar-width: 270px;--max-content: 740px;--radius: 8px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, sans-serif;--font-mono: "SF Mono", "Fira Code", "JetBrains Mono", "Cascadia Code", "Consolas", monospace;--transition: 0.2s ease}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font);color:var(--text);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased}.wrapper{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border);padding:2rem 1.5rem;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;overflow-y:auto}.content{margin-left:var(--sidebar-width);max-width:var(--max-content);width:100%;padding:3rem 2.5rem 5rem}.profile{margin-bottom:2rem}.profile-photo{width:100px;height:100px;border-radius:50%;object-fit:cover;margin-bottom:1rem;border:2px solid var(--border-bright);box-shadow:0 0 20px rgba(88,166,255,0.1)}.site-title{font-size:1.2rem;font-weight:700;margin-bottom:0.25rem;font-family:var(--font-mono)}.site-title a{color:var(--text-bright);text-decoration:none}.site-title a:hover{color:var(--accent)}.site-title a::before{content:"> ";color:var(--accent-green);opacity:0.7}.tagline{font-size:0.8rem;color:var(--text-muted);line-height:1.5;font-family:var(--font-mono)}.site-nav{display:flex;flex-direction:column;gap:2px;margin-bottom:2rem}.site-nav a{display:block;padding:0.45rem 0.75rem;border-radius:6px;color:var(--text-muted);text-decoration:none;font-size:0.9rem;font-family:var(--font-mono);font-weight:500;transition:all var(--transition);border-left:2px solid transparent}.site-nav a:hover{background:rgba(88,166,255,0.08);color:var(--accent);border-left-color:var(--accent)}.site-nav a.active{background:rgba(88,166,255,0.12);color:var(--accent-glow);border-left-color:var(--accent)}.sidebar-footer{margin-top:auto;padding-top:1.5rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:0.4rem}.social-link{font-size:0.8rem;color:var(--text-muted);text-decoration:none;font-family:var(--font-mono);transition:color var(--transition);display:flex;align-items:center;gap:0.5rem}.social-link::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--border-bright);transition:background var(--transition)}.social-link:hover{color:var(--accent)}.social-link:hover::before{background:var(--accent)}h1,h2,h3,h4{line-height:1.3;color:var(--text-bright)}h1{font-size:1.8rem;margin-bottom:1rem;font-weight:700;font-family:var(--font-mono)}h1::before{content:"# ";color:var(--accent-purple)}h2{font-size:1.25rem;margin:2.5rem 0 0.75rem;font-weight:600;font-family:var(--font-mono);padding-bottom:0.4rem;border-bottom:1px solid var(--border)}h2::before{content:"## ";color:var(--accent-green)}h3{font-size:1.05rem;margin:1.5rem 0 0.5rem;font-weight:600}p{margin-bottom:1rem}a{color:var(--accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--accent-glow);text-decoration:underline}hr{border:none;border-top:1px solid var(--border);margin:2rem 0}strong{font-weight:600;color:var(--text-bright)}code{font-family:var(--font-mono);font-size:0.85em;background:var(--code-bg);padding:0.15em 0.5em;border-radius:4px;color:var(--accent-orange);border:1px solid var(--border)}pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;overflow-x:auto;margin-bottom:1rem}pre code{background:none;padding:0;color:var(--text);border:none}ul,ol{margin-bottom:1rem;padding-left:1.5rem}li{margin-bottom:0.4rem}li::marker{color:var(--text-muted)}blockquote{border-left:3px solid var(--accent-purple);padding:0.5rem 1rem;margin:1rem 0;background:var(--bg-elevated);border-radius:0 var(--radius) var(--radius) 0;color:var(--text-muted)}.cv-section{margin-bottom:3rem}.cv-entry{margin-bottom:1.75rem;padding:1.25rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition)}.cv-entry:hover{border-color:var(--border-bright)}.cv-entry-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:0.5rem}.cv-entry-header h3{margin:0;color:var(--accent-glow)}.cv-company{color:var(--accent-green);font-weight:400;font-size:0.9em}.cv-period{font-size:0.8rem;color:var(--text-muted);white-space:nowrap;font-family:var(--font-mono)}.cv-location{color:var(--text-muted);font-size:0.85rem;margin-bottom:0.5rem}.cv-highlights{margin-bottom:0.75rem}.cv-highlights li{font-size:0.92rem}.cv-tech{display:flex;flex-wrap:wrap;gap:0.4rem;margin-top:0.75rem}.skill-category{margin-bottom:1.25rem}.skill-category h3{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--accent-purple);margin-bottom:0.5rem;font-family:var(--font-mono);font-weight:600}.skill-tags{display:flex;flex-wrap:wrap;gap:0.4rem}.tech-tag{display:inline-block;background:rgba(88,166,255,0.1);color:var(--accent);padding:0.2em 0.7em;border-radius:999px;font-size:0.78rem;font-weight:500;font-family:var(--font-mono);border:1px solid rgba(88,166,255,0.2);transition:all var(--transition)}.tech-tag:hover{background:rgba(88,166,255,0.2);border-color:var(--accent)}.portfolio-entry{margin-bottom:2rem}.portfolio-entry .subtitle{color:var(--text-muted);font-size:0.9rem;margin-top:-0.5rem;margin-bottom:0.5rem}.project-hero{width:100%;border-radius:var(--radius);margin-bottom:1.5rem;border:1px solid var(--border)}.project-meta{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-bottom:1.5rem;padding:1rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius)}.project-links{display:flex;gap:0.5rem}.btn{display:inline-block;padding:0.4em 1em;background:rgba(88,166,255,0.15);color:var(--accent);border-radius:var(--radius);font-size:0.85rem;font-weight:500;font-family:var(--font-mono);text-decoration:none;border:1px solid rgba(88,166,255,0.3);transition:all var(--transition)}.btn:hover{background:var(--accent);color:var(--bg);border-color:var(--accent);text-decoration:none;box-shadow:0 0 15px rgba(88,166,255,0.3)}.highlights-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.highlight-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:border-color var(--transition),box-shadow var(--transition)}.highlight-card:hover{border-color:var(--accent);box-shadow:0 0 20px rgba(88,166,255,0.08)}.highlight-card h3{margin-top:0}.highlight-card h3 a{color:var(--text-bright)}.highlight-card p{font-size:0.9rem;color:var(--text-muted);margin-bottom:0.75rem}.post-header{margin-bottom:1.5rem}.post-header time{color:var(--text-muted);font-size:0.85rem;font-family:var(--font-mono)}.post-content{margin-top:1.5rem}.post-content h2{font-size:1.15rem}.placeholder{padding:1.25rem;background:rgba(210,153,29,0.08);border:1px dashed rgba(210,153,29,0.3);border-radius:var(--radius);color:var(--accent-orange);font-size:0.9rem;font-family:var(--font-mono)}.placeholder code{background:rgba(210,153,29,0.12);color:var(--accent-orange);border-color:rgba(210,153,29,0.2)}.page-header{margin-bottom:1.5rem}.subtitle{color:var(--text-muted);font-size:1.05rem}.cv-download{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:rgba(88,166,255,0.3);color:var(--text-bright)}@media (max-width: 768px){.wrapper{flex-direction:column}.sidebar{position:static;width:100%;border-right:none;border-bottom:1px solid var(--border);padding:1.5rem}.content{margin-left:0;padding:2rem 1.5rem}.site-nav{flex-direction:row;flex-wrap:wrap;gap:0.25rem}.cv-entry-header{flex-direction:column}}
