.nav{position:sticky;top:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:16px 0;transition:background .2s,border-color .2s}.nav-container{max-width:var(--max-w);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap}.nav-logo{font-size:17px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;transition:color .2s}.nav-logo:hover{color:var(--accent)}.nav-links{display:flex;list-style:none;gap:32px}.nav-link{font-size:14px;font-weight:500;color:var(--text-secondary);position:relative;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-link.active:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:var(--accent);border-radius:2px}.nav-actions{display:flex;align-items:center;gap:8px}.nav-theme-toggle{display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:14px;width:32px;height:32px;transition:color .2s,border-color .2s,background .2s}.nav-theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.nav-hamburger{display:none;background:none;border:none;color:var(--text-primary);font-size:18px;cursor:pointer;padding:4px;line-height:1;align-items:center;justify-content:center}@media (max-width: 600px){.nav-hamburger{display:flex}.nav-links{display:none;order:10;width:100%;flex-direction:column;gap:0;border-top:1px solid var(--border);margin-top:14px;padding-top:6px;padding-bottom:4px}.nav-links.open{display:flex}.nav-links li{width:100%}.nav-link{display:block;padding:11px 0;font-size:15px;border-bottom:1px solid var(--border)}.nav-links li:last-child .nav-link{border-bottom:none;padding-bottom:4px}.nav-link.active:after{display:none}.nav-link.active{color:var(--accent)}}.footer{border-top:1px solid var(--border);padding:24px 0;margin-top:80px}.footer-container{max-width:var(--max-w);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.footer-copy{font-size:13px;color:var(--text-secondary)}.footer-socials{display:flex;gap:16px}.footer-socials a{color:var(--text-secondary);font-size:17px;transition:color .2s,transform .2s}.footer-socials a:hover{color:var(--accent);transform:translateY(-2px)}@media (max-width: 600px){.footer{margin-top:48px;padding:20px 0}.footer-container{flex-direction:column;gap:14px;text-align:center;padding:0 16px}}.homepage{padding:100px 0}.hero{display:flex;align-items:center;justify-content:space-between;gap:48px}.hero-text{flex:1}.hero-title{font-size:27px;font-weight:700;line-height:1.35;letter-spacing:-.03em;color:var(--text-primary);margin-bottom:18px;max-width:480px}.hero-desc{font-size:15px;color:var(--text-secondary);line-height:1.8;max-width:460px;margin-bottom:28px}.hero-socials{display:flex;gap:18px}.hero-socials a{color:var(--text-secondary);font-size:22px;transition:color .2s,transform .2s}.hero-socials a:hover{color:var(--accent);transform:translateY(-2px)}.hero-image{flex-shrink:0}.hero-image img{width:260px;height:300px;border-radius:20px;object-fit:cover;object-position:center;border:1px solid var(--border)}@media (max-width: 600px){.homepage{padding:40px 0}.hero{flex-direction:column-reverse;align-items:flex-start;gap:20px;margin-bottom:52px}.hero-image img{width:130px;height:155px}.hero-title{font-size:21px;margin-bottom:14px}.hero-desc{font-size:14px;margin-bottom:22px}.hero-socials{gap:16px}.hero-socials a{font-size:20px}}.about-page{padding:64px 0}.about-title{font-size:24px;font-weight:700;letter-spacing:-.03em;line-height:1.35;margin-bottom:48px;max-width:540px}.about-body{display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:start}.about-left{display:flex;flex-direction:column;gap:18px}.about-para{font-size:15px;color:var(--text-secondary);line-height:1.8}.about-right{display:flex;flex-direction:column;gap:20px}.about-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:20px}.about-card-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:14px}.about-details{list-style:none;display:flex;flex-direction:column;gap:10px}.about-details li{display:flex;justify-content:space-between;font-size:14px;gap:12px}.detail-key{color:var(--text-secondary);flex-shrink:0}.detail-link{color:var(--accent);font-size:13px;word-break:break-all}.about-skills{display:flex;flex-wrap:wrap;gap:8px}.skill-tag{font-size:12px;font-weight:500;padding:4px 12px;background:var(--bg-color);border:1px solid var(--border);border-radius:20px;color:var(--text-primary)}@media (max-width: 700px){.about-body{grid-template-columns:1fr;gap:32px}}@media (max-width: 600px){.about-page{padding:40px 0}.about-title{font-size:20px;margin-bottom:28px}.about-para{font-size:14px}}.project-card{display:flex;gap:18px;padding:22px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;transition:border-color .2s,box-shadow .2s}.project-card:hover{border-color:var(--accent);box-shadow:0 4px 24px #6366f114}.project-logo{flex-shrink:0;width:46px;height:46px;border-radius:10px;background:var(--card-bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center}.project-body{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.project-title{font-size:15px;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.project-desc{font-size:13px;color:var(--text-secondary);line-height:1.65;flex:1}.project-link{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:500;color:var(--accent);margin-top:6px;transition:gap .2s}.project-link:hover{gap:8px}.projects-page{padding:64px 0}.projects-header{margin-bottom:36px}.projects-title{font-size:24px;font-weight:700;letter-spacing:-.03em;margin-bottom:10px}.projects-subtitle{font-size:15px;color:var(--text-secondary);line-height:1.65;max-width:480px}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}@media (max-width: 600px){.projects-page{padding:40px 0}.projects-title{font-size:20px}.projects-subtitle{font-size:14px}.projects-grid{grid-template-columns:1fr}}.article-card{display:block;padding:24px 0;border-bottom:1px solid var(--border);transition:opacity .2s;cursor:pointer}.article-card:last-child{border-bottom:none}.article-card:hover{opacity:.7}.article-date{display:block;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.article-title{font-size:17px;font-weight:600;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:8px;line-height:1.4}.article-desc{font-size:14px;color:var(--text-secondary);line-height:1.65}.articles-page{padding:64px 0}.articles-header{margin-bottom:8px}.articles-title{font-size:24px;font-weight:700;letter-spacing:-.03em;margin-bottom:10px}.articles-subtitle{font-size:15px;color:var(--text-secondary);line-height:1.65;max-width:480px;margin-bottom:16px}.articles-list{max-width:640px}@media (max-width: 600px){.articles-page{padding:40px 0}.articles-title{font-size:20px}.articles-subtitle{font-size:14px}}.contact-page{padding:64px 0}.contact-body{display:grid;grid-template-columns:1fr 300px;gap:48px;align-items:start}.contact-title{font-size:24px;font-weight:700;letter-spacing:-.03em;margin-bottom:20px}.contact-desc{font-size:15px;color:var(--text-secondary);line-height:1.8;margin-bottom:16px}.contact-card{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:22px}.contact-card-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-bottom:16px}.contact-links{display:flex;flex-direction:column;gap:12px}.contact-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-primary);transition:color .2s;word-break:break-all}.contact-item:hover{color:var(--accent)}.contact-icon{font-size:15px;color:var(--text-secondary);flex-shrink:0;display:flex}@media (max-width: 700px){.contact-body{grid-template-columns:1fr;gap:32px}}@media (max-width: 600px){.contact-page{padding:40px 0}.contact-title{font-size:20px;margin-bottom:16px}.contact-desc{font-size:14px}}.work-page{padding:30px 0}.work-header{margin-bottom:48px}.work-title{font-size:24px;font-weight:700;letter-spacing:-.03em;margin-bottom:10px}.work-subtitle{font-size:15px;color:var(--text-secondary);line-height:1.65}.work-list{display:flex;flex-direction:column;gap:0}.work-item{display:grid;grid-template-columns:160px 1fr;gap:32px;padding:32px 0;border-top:1px solid var(--border)}.work-item:last-child{border-bottom:1px solid var(--border)}.work-meta{padding-top:3px}.work-period{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.work-top{margin-bottom:12px}.work-role{font-size:17px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;margin-bottom:4px}.work-company-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.work-company{font-size:14px;font-weight:500;color:var(--accent)}.work-location{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--text-secondary)}.work-location svg{font-size:11px}.work-bullets{display:flex;flex-direction:column;gap:8px;padding-left:18px}.work-bullets li{font-size:14px;color:var(--text-secondary);line-height:1.65}.work-bullets li::marker{color:var(--accent)}@media (max-width: 600px){.work-page{padding:40px 0}.work-title{font-size:20px}.work-header{margin-bottom:32px}.work-item{grid-template-columns:1fr;gap:10px;padding:24px 0}.work-role{font-size:16px}}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-color: #ffffff;--text-primary: #27272a;--text-secondary: #71717a;--accent: #6366f1;--accent-hover: #4f46e5;--border: #e4e4e7;--card-bg: #fafafa;--nav-bg: rgba(255, 255, 255, .85);--font: "Inter", system-ui, -apple-system, sans-serif;--max-w: 900px}[data-theme=dark]{--bg-color: #0f0f11;--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--accent: #818cf8;--accent-hover: #6366f1;--border: #27272a;--card-bg: #18181b;--nav-bg: rgba(15, 15, 17, .85)}body{font-family:var(--font);background:var(--bg-color);color:var(--text-primary);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background .2s,color .2s}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.container{max-width:var(--max-w);margin:0 auto;padding:0 24px}@media (max-width: 480px){.container{padding:0 16px}}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{font-family:var(--font);cursor:pointer}
