:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-card: #1c2128;--border: #30363d;--accent: #1f6feb;--accent-green: #3fb950;--text-primary: #f0f6fc;--text-secondary:#c9d1d9;--text-muted: #8b949e;--font-sans: "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-secondary);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}.app-wrapper{min-height:100vh;display:flex;flex-direction:column}.content-wrap{flex:1}.page{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.section{margin-top:2.5rem}.section-title,.page-heading{font-size:1.35rem;font-weight:700;color:var(--text-primary);margin-bottom:1.25rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.page-heading{font-size:1.65rem;margin-bottom:2rem}a{color:var(--accent)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.navbar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.navbar-inner{max-width:960px;margin:0 auto;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.navbar-brand{font-weight:700;font-size:1.1rem;color:var(--text-primary);letter-spacing:.02em}.navbar-links{display:flex;gap:1.75rem}.nav-link{color:var(--text-secondary);text-decoration:none;font-size:.95rem;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--accent)}.footer{background-color:var(--bg-secondary);border-top:1px solid var(--border);margin-top:4rem;padding:1.5rem 0}.footer-inner{max-width:960px;margin:0 auto;padding:0 1.5rem;text-align:center}.footer-links{margin:0 0 .4rem;font-size:.95rem}.footer-links a{color:var(--accent);text-decoration:none;transition:opacity .2s}.footer-links a:hover{opacity:.8}.footer-sep{color:var(--border);margin:0 .6rem}.footer-note{margin:0;font-size:.8rem;color:var(--text-muted)}.hero{padding:3.5rem 0 2.5rem;border-bottom:1px solid var(--border);margin-bottom:2.5rem}.hero-name{font-size:2.4rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem}.hero-tagline{font-size:1.1rem;color:var(--accent);margin:0 0 .4rem}.hero-location{font-size:.9rem;color:var(--text-muted);margin:0 0 1.4rem}.hero-social{display:flex;gap:.75rem;flex-wrap:wrap}.btn-link{display:inline-block;padding:.45rem 1rem;border:1px solid var(--accent);color:var(--accent);border-radius:4px;text-decoration:none;font-size:.88rem;font-weight:500;transition:background-color .2s,color .2s}.btn-link:hover{background-color:var(--accent);color:var(--bg-primary)}.about-text{color:var(--text-secondary);line-height:1.8;max-width:740px;white-space:pre-line}.skill-groups{display:flex;flex-direction:column;gap:1.25rem}.skill-group-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.5rem;font-family:var(--font-mono)}.skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{background-color:var(--bg-card);color:var(--accent);border:1px solid var(--border);padding:.3rem .75rem;border-radius:20px;font-size:.85rem;font-family:var(--font-mono)}.lang-list{display:flex;flex-direction:column;gap:.5rem;max-width:360px}.lang-item{display:flex;justify-content:space-between;padding:.5rem .75rem;background-color:var(--bg-card);border:1px solid var(--border);border-radius:4px}.lang-name{color:var(--text-primary);font-weight:500}.lang-level{color:var(--text-muted);font-size:.88rem}.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{border-left:2px solid var(--accent);padding:0 0 2.5rem 1.75rem;position:relative}.timeline-item:before{content:"";position:absolute;left:-6px;top:6px;width:10px;height:10px;border-radius:50%;background-color:var(--accent);border:2px solid var(--bg-primary)}.timeline-item:last-child{border-left-color:transparent}.job-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.job-role{font-size:1.05rem;font-weight:600;color:var(--text-primary);margin:0 0 .2rem}.job-company{font-size:.95rem;color:var(--accent);margin:0}.job-meta{text-align:right;display:flex;flex-direction:column;gap:.15rem}.job-period{font-size:.85rem;color:var(--text-muted);font-family:var(--font-mono)}.job-location{font-size:.8rem;color:var(--text-muted)}.job-bullets{padding-left:1.25rem;margin:0;color:var(--text-secondary);line-height:1.75}.job-bullets li{margin-bottom:.3rem;font-size:.92rem}.education-section{margin-top:2rem}.edu-item{background-color:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:1rem 1.25rem;max-width:440px}.edu-school{font-weight:600;color:var(--text-primary);margin-bottom:.2rem}.edu-degree{color:var(--accent);font-size:.92rem;margin-bottom:.15rem}.edu-period{color:var(--text-muted);font-size:.85rem;font-family:var(--font-mono)}.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.cert-card{background-color:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:1.2rem 1.25rem;display:flex;align-items:center;gap:.85rem;transition:border-color .2s}.cert-card:hover{border-color:var(--accent)}.cert-icon{font-size:1.5rem;flex-shrink:0}.cert-name{color:var(--text-primary);font-size:.92rem;line-height:1.5}
