:root{--color-bg: #fafaf9;--color-bg-secondary: #f5f5f4;--color-text: #1c1917;--color-text-secondary: #57534e;--color-text-muted: #a8a29e;--color-accent: #3b6b8a;--color-accent-light: #5a8fb4;--color-accent-subtle: #e8f1f5;--color-border: #e7e5e4;--color-card-bg: #ffffff;--font-family: "Inter", system-ui, -apple-system, sans-serif;--max-width: 1200px;--sidebar-width: 220px;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2.5rem;--spacing-xl: 4rem;--transition: .2s ease;--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .04)}@media(prefers-color-scheme:dark){:root{--color-bg: #1c1917;--color-bg-secondary: #292524;--color-text: #fafaf9;--color-text-secondary: #d6d3d1;--color-text-muted: #78716c;--color-accent: #5a8fb4;--color-accent-light: #7eb3d6;--color-accent-subtle: #1e3a4d;--color-border: #44403c;--color-card-bg: #292524;--shadow: 0 1px 3px rgba(0, 0, 0, .2), 0 1px 2px rgba(0, 0, 0, .12);--shadow-hover: 0 4px 12px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2)}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);font-weight:400;line-height:1.7;color:var(--color-text);background-color:var(--color-bg);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-accent-light)}h1,h2,h3{font-weight:500;line-height:1.3;letter-spacing:-.02em;color:var(--color-text)}h1{font-size:1.75rem}h2{font-size:1.25rem}h3{font-size:1rem}p{color:var(--color-text-secondary)}::selection{background-color:var(--color-accent);color:#fff}.layout{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);background-color:var(--color-bg-secondary);border-right:1px solid var(--color-border);padding:var(--spacing-lg) var(--spacing-md);position:fixed;height:100vh;display:flex;flex-direction:column}.sidebar-header{margin-bottom:var(--spacing-xl)}.sidebar-name{font-size:1rem;font-weight:500;color:var(--color-text);margin-bottom:4px}.sidebar-tagline{font-size:.8rem;color:var(--color-text-muted)}.nav{display:flex;flex-direction:column;gap:4px}.nav-link{background:none;border:none;font-family:var(--font-family);font-size:.875rem;font-weight:400;color:var(--color-text-secondary);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);text-align:left;border-radius:var(--radius);transition:all var(--transition)}.nav-link:hover{background-color:var(--color-bg);color:var(--color-text)}.nav-link.active{background-color:var(--color-accent-subtle);color:var(--color-accent);font-weight:500}.sidebar-footer{margin-top:auto;display:flex;flex-direction:column;gap:var(--spacing-xs)}.sidebar-footer a{font-size:.8rem;color:var(--color-text-muted);transition:color var(--transition)}.sidebar-footer a:hover{color:var(--color-accent)}.main{flex:1;margin-left:var(--sidebar-width);padding:var(--spacing-xl) var(--spacing-lg);max-width:900px}.page{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.home-header{margin-bottom:var(--spacing-xl)}.home-header h1{margin-bottom:var(--spacing-xs)}.home-header p{font-size:1rem}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.card{background-color:var(--color-card-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-md);cursor:pointer;transition:all var(--transition);box-shadow:var(--shadow)}.card:hover{box-shadow:var(--shadow-hover);border-color:var(--color-accent);transform:translateY(-2px)}.card-tag{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);margin-bottom:var(--spacing-xs)}.card-title{font-size:1.1rem;font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-xs);line-height:1.4}.card-excerpt{font-size:.9rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--spacing-sm)}.card-meta{font-size:.75rem;color:var(--color-text-muted)}.card-placeholder{border-style:dashed;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;text-align:center}.card-placeholder:hover{border-color:var(--color-border);transform:none;box-shadow:var(--shadow)}.card-placeholder-icon{font-size:1.5rem;color:var(--color-text-muted);margin-bottom:var(--spacing-xs)}.card-placeholder-text{font-size:.875rem;color:var(--color-text-muted)}.about-page{max-width:600px}.section{margin-bottom:var(--spacing-lg)}.section h2{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--spacing-sm)}.section p{font-size:1rem;line-height:1.8}.timeline{display:flex;flex-direction:column;gap:var(--spacing-sm)}.timeline-item{display:flex;gap:var(--spacing-md);align-items:baseline}.timeline-period{font-size:.8rem;color:var(--color-text-muted);min-width:110px;font-variant-numeric:tabular-nums}.timeline-content{flex:1}.timeline-title{font-weight:500;color:var(--color-text);margin-bottom:2px}.timeline-subtitle{font-size:.875rem;color:var(--color-text-secondary)}.certifications{list-style:none;display:flex;flex-direction:column;gap:var(--spacing-xs)}.certifications li{color:var(--color-text-secondary);font-size:.95rem}.hobbies-page{max-width:600px}.hobbies-page .section p{margin-bottom:var(--spacing-sm)}.quote blockquote{font-size:1.1rem;font-style:italic;color:var(--color-text-secondary);border-left:3px solid var(--color-accent);padding-left:var(--spacing-md);margin:0}.quote cite{display:block;margin-top:var(--spacing-sm);font-size:.875rem;font-style:normal;color:var(--color-text-muted)}@media(max-width:768px){.layout{flex-direction:column}.sidebar{width:100%;height:auto;position:relative;padding:var(--spacing-md);border-right:none;border-bottom:1px solid var(--color-border)}.sidebar-header{margin-bottom:var(--spacing-md)}.nav{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-xs)}.sidebar-footer{display:none}.main{margin-left:0;padding:var(--spacing-md)}.cards-grid{grid-template-columns:1fr}.timeline-item{flex-direction:column;gap:2px}.timeline-period{min-width:auto}}
