@font-face{font-family:Zain;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4cf021836bf44647-s.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Zain;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f6b108b9f065039e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Zain;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/d8e2751d6951649a-s.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-088e,u+0890-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec4,u+10efc-10eff,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Zain;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/675503b1099ebcea-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Zain Fallback;src:local("Arial");ascent-override:115.29%;descent-override:64.05%;line-gap-override:0.00%;size-adjust:78.06%}.__className_e1c994{font-family:Zain,Zain Fallback;font-style:normal}.__variable_e1c994{--font-zain:"Zain","Zain Fallback"}:root{--background:#0b0c10;--foreground:#e7eef7;--header-bg:rgba(10,11,15,0.7);--border:rgba(255,255,255,0.06);--muted:#9aa6b2}html[data-theme=light]{--background:#f7f8fb;--foreground:#0f1724;--header-bg:rgba(255,255,255,0.8);--border:rgba(15,23,36,0.06);--muted:#55646f}@media (prefers-color-scheme:light){:root:not([data-theme]){--background:#f7f8fb;--foreground:#0f1724;--header-bg:rgba(255,255,255,0.8);--border:rgba(15,23,36,0.06);--muted:#55646f}}body{background:var(--background);color:var(--foreground);font-family:var(--font-zain),Arial,Helvetica,sans-serif}.site-header{background:var(--header-bg);border-bottom:1px solid var(--border);backdrop-filter:blur(6px)}.muted{color:var(--muted)}:root{--color-primary:#0b0c10;--color-secondary:#e7eef7;--color-accent:#2b6cb0;--color-text-primary:#e7eef7;--color-text-secondary:#b7c3cf;--color-text-muted:#8d9aa4;--color-text-inverse:#0f1724;--color-bg-primary:#0b0c10;--color-bg-secondary:#0f1724;--color-bg-dark:#070708;--color-bg-hover:rgba(231,238,247,0.04);--color-border:rgba(255,255,255,0.06);--color-border-dark:rgba(255,255,255,0.08);--btn-bg:#131518;--btn-text:var(--color-text-primary);--btn-border:rgba(255,255,255,0.06);--btn-hover:rgba(231,238,247,0.06);--image-overlay:rgba(231,238,247,0.02);--contact-card-bg:#141924;--contact-icon-bg:rgba(231,238,247,0.08);--contact-btn-hover-bg:rgba(43,108,176,0.18);--contact-btn-hover-text:#ffffff;--contact-btn-hover-border:rgba(43,108,176,0.45);--nav-active-bg:rgba(127,224,255,0.16);--nav-active-shadow:rgba(127,224,255,0.22);--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:4rem;--spacing-xl:6rem;--border-radius-sm:4px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-full:9999px;--shadow-sm:0 1px 3px rgba(0,0,0,0.1);--shadow-md:0 4px 6px rgba(0,0,0,0.1);--shadow-lg:0 10px 25px rgba(0,0,0,0.1);--transition-fast:150ms ease;--transition-normal:300ms ease;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:"Courier New",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:3rem;--container-max-width:1200px;--header-height:80px}html[data-theme=light]{--color-primary:#0f1724;--color-secondary:#f7f8fb;--color-accent:#2563eb;--color-text-primary:#0f1724;--color-text-secondary:#334155;--color-text-muted:#64748b;--color-text-inverse:#ffffff;--color-bg-primary:#f7f8fb;--color-bg-secondary:#ffffff;--color-bg-dark:#0b0c10;--color-bg-hover:rgba(37,99,235,0.06);--color-border:rgba(15,23,36,0.06);--color-border-dark:rgba(15,23,36,0.08);--btn-bg:#0f1724;--btn-text:#ffffff;--btn-border:rgba(15,23,36,0.06);--btn-hover:rgba(15,23,36,0.06);--image-overlay:rgba(15,23,36,0.03);--contact-card-bg:#ffffff;--contact-icon-bg:rgba(15,23,36,0.06);--contact-btn-hover-bg:rgba(37,99,235,0.16);--contact-btn-hover-text:#ffffff;--contact-btn-hover-border:rgba(37,99,235,0.45);--nav-active-bg:rgba(81,63,152,0.16);--nav-active-shadow:rgba(81,63,152,0.22)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:smooth}}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26"><circle cx="13" cy="13" r="9" fill="none" stroke="%23e7eef7" stroke-width="1.4"/><circle cx="13" cy="13" r="2" fill="%23e7eef7"/></svg>') 13 13,auto}html[data-theme=light] body{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 26 26"><circle cx="13" cy="13" r="9" fill="none" stroke="%230f1724" stroke-width="1.4"/><circle cx="13" cy="13" r="2" fill="%230f1724"/></svg>') 13 13,auto}.contact-btn,.lightbox-close,.mobile-menu-toggle,.project-card,.project-carousel-thumb,.project-link-btn,.project-links a,.skill-category,.tech-icon,.theme-switch,[role=button],a,button{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><circle cx="15" cy="15" r="10.5" fill="none" stroke="%232b6cb0" stroke-width="1.6"/><circle cx="15" cy="15" r="2.5" fill="%232b6cb0"/></svg>') 15 15,pointer}html[data-theme=light] .contact-btn,html[data-theme=light] .lightbox-close,html[data-theme=light] .mobile-menu-toggle,html[data-theme=light] .project-card,html[data-theme=light] .project-carousel-thumb,html[data-theme=light] .project-link-btn,html[data-theme=light] .project-links a,html[data-theme=light] .skill-category,html[data-theme=light] .tech-icon,html[data-theme=light] .theme-switch,html[data-theme=light] [role=button],html[data-theme=light] a,html[data-theme=light] button{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><circle cx="15" cy="15" r="10.5" fill="none" stroke="%232563eb" stroke-width="1.6"/><circle cx="15" cy="15" r="2.5" fill="%232563eb"/></svg>') 15 15,pointer}.portfolio{min-height:100vh;overflow-x:hidden}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-md)}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background-color:var(--color-bg-primary);border-bottom:1px solid var(--color-border);z-index:1000;transition:box-shadow var(--transition-normal)}.header-content{justify-content:space-between;height:var(--header-height)}.header-content,.logo{display:flex;align-items:center}.logo-image{height:60px;width:auto;object-fit:contain;transition:transform .2s ease}.logo-image:hover{transform:scale(1.05)}.logo-theme-dark{display:none}.logo-theme-light,html[data-theme=dark] .logo-theme-dark{display:inline-block}html[data-theme=dark] .logo-theme-light{display:none}.nav{display:flex;gap:var(--spacing-md)}.nav a{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);transition:all var(--transition-fast);position:relative}.nav a:hover{background-color:var(--color-bg-hover)}.nav a.active,.nav a:hover{color:var(--color-text-primary)}.nav a.active{background-color:var(--nav-active-bg);box-shadow:0 14px 30px var(--nav-active-shadow);border-radius:var(--border-radius-md)}.nav a.active:after{display:none}.mobile-menu-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:var(--spacing-xs)}.mobile-menu-toggle span{width:24px;height:2px;background-color:var(--color-text-primary);transition:all var(--transition-fast)}.hero{padding:calc(var(--header-height) + var(--spacing-xl)) 0 var(--spacing-xl) 0;min-height:100vh;display:flex;align-items:center;opacity:0;transform:translateY(15px);transition:opacity .7s ease,transform .7s ease}.hero-visible{opacity:1;transform:translateY(0);animation:heroFadeIn .8s ease both}.hero-hidden{opacity:0;transform:translateY(-15px)}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.hero-content{display:grid;grid-template-columns:minmax(320px,1fr) minmax(420px,1.2fr);gap:var(--spacing-lg);align-items:center}.hero-text h1{font-size:4rem;font-weight:800;margin-bottom:var(--spacing-sm);color:var(--color-text-primary);line-height:1.05}.hero-subtitle{font-size:var(--font-size-2xl)}.hero-description,.hero-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.hero-description{font-size:var(--font-size-lg);line-height:1.8}.hero-cta{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.hero-avatar{position:relative;width:100%;min-height:min(75vh,680px);max-height:760px;margin:0;overflow:hidden;border-radius:var(--border-radius-lg)}.avatar-image{object-fit:cover}.avatar-image,.rect-avatar{border-radius:0}.avatar-placeholder{width:320px;height:320px;background-color:var(--color-bg-secondary)}.avatar-placeholder:after{content:"";position:absolute;width:40%;height:40%;background-color:var(--color-accent);border-radius:50%;top:30%}.btn{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all var(--transition-normal);border:2px solid transparent;text-decoration:none;display:inline-block}.btn-primary{background-color:var(--btn-bg);color:var(--btn-text);border-color:var(--btn-border)}.btn-primary:hover{background-color:var(--btn-hover);border-color:var(--btn-border);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{border-color:var(--btn-border)}.btn-secondary,.btn-secondary:hover{background-color:var(--btn-bg);color:var(--btn-text)}.btn-secondary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}section{padding:var(--spacing-xl) 0;scroll-margin-top:calc(var(--header-height) + var(--spacing-sm))}.section-title{font-size:var(--font-size-2xl);font-weight:700;text-align:center;margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.projects{background-color:var(--color-bg-secondary)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.project-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--border-radius-lg);overflow:hidden;transition:all var(--transition-normal)}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.project-image{width:100%;height:200px;overflow:hidden;position:relative}.project-image-img{object-fit:cover}.image-placeholder{width:100%;height:100%;background-color:var(--color-bg-secondary);display:flex;align-items:center;justify-content:center}.project-content{padding:var(--spacing-md);.project-image:before{content:"";position:absolute;inset:0;background:var(--image-overlay);pointer-events:none}}.project-content h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xs);color:var(--color-text-primary)}.project-content p{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);line-height:1.6}.project-tech{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.tech-tag{padding:4px 12px;background-color:var(--color-bg-secondary);color:var(--color-text-secondary);border-radius:var(--border-radius-full);font-size:var(--font-size-xs);font-weight:500}.project-links{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.project-links a{color:var(--color-text-primary);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.project-links a:hover{background-color:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.project-link-btn{background:none;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:500;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast)}.project-link-btn:hover{background-color:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.project-card-link{text-decoration:none;color:inherit;display:block}.project-detail{grid-template-columns:1fr 1fr}.project-detail-image{position:relative;width:100%;height:420px;border-radius:var(--border-radius-md);overflow:hidden;border:1px solid var(--color-border)}.project-detail-content h1{margin-bottom:var(--spacing-sm)}.project-detail-meta{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md);color:var(--color-text-muted)}.project-detail-tech{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.project-detail-page{min-height:100vh}.project-detail-page-content{padding:calc(var(--header-height) + var(--spacing-lg)) 0 var(--spacing-xl)}.project-detail-intro{margin-bottom:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-md)}.project-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:999px;background:var(--color-bg-primary);border:1px solid var(--color-border);color:var(--color-text-primary);text-transform:uppercase;font-size:.8rem;letter-spacing:.08em;margin-bottom:var(--spacing-sm)}.project-detail-intro h1{margin:0;font-size:clamp(2.4rem,3vw,3.4rem);line-height:1.05}.project-subtitle{color:var(--color-text-primary);max-width:840px;margin:var(--spacing-sm) 0}.project-note{color:var(--color-text-secondary);font-size:.95rem;margin-top:var(--spacing-sm)}.project-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.btn-back{border:1px solid var(--btn-border);color:var(--btn-text);background:var(--btn-bg)}.btn-back:hover{background-color:var(--btn-bg)}.project-detail{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--spacing-lg);align-items:start}.project-detail-carousel{display:grid;gap:var(--spacing-md)}.project-detail-image.preview{position:relative;width:100%;min-height:420px;border-radius:var(--border-radius-md);overflow:hidden;border:1px solid var(--color-border);cursor:zoom-in}.project-detail-image.preview .project-image-overlay{position:absolute;inset:0;display:grid;place-items:end center;padding:var(--spacing-sm);color:var(--color-text-primary);font-size:.85rem;background:linear-gradient(180deg,transparent 50%,rgba(11,12,16,.65));opacity:0;transition:opacity .25s ease}.project-detail-image.preview:hover .project-image-overlay{opacity:1}.project-carousel-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.project-carousel-thumb{position:relative;width:100%;aspect-ratio:1.2;border-radius:var(--border-radius-md);overflow:hidden;border:2px solid transparent;transition:border-color .25s ease,transform .25s ease;background:rgba(255,255,255,.03)}.project-carousel-thumb.active,.project-carousel-thumb:hover{border-color:var(--color-accent);transform:translateY(-2px)}.project-carousel-thumb .thumb-image{object-fit:cover}.project-detail-content h2{margin-top:0}.project-stack{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.tech-icon{position:relative;display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:1.2rem;transition:transform .2s ease,background .2s ease}.tech-icon:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}.tech-icon:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) scale(.95);opacity:0;pointer-events:none;background:rgba(14,18,32,.95);color:#fff;padding:.4rem .7rem;border-radius:999px;white-space:nowrap;font-size:.75rem;letter-spacing:.01em;transition:opacity .15s ease,transform .15s ease}.tech-icon:hover:after{opacity:1;transform:translateX(-50%) scale(1)}.lightbox-overlay{position:fixed;inset:0;background:rgba(0,0,0,.82);display:grid;place-items:center;padding:var(--spacing-lg);z-index:9999}.lightbox-inner{position:relative;width:min(100%,1100px);max-height:min(100%,90vh);border-radius:var(--border-radius-xl);overflow:hidden;background:var(--color-bg-secondary);box-shadow:0 32px 80px rgba(0,0,0,.45)}.lightbox-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);z-index:2;border:none;background:rgba(0,0,0,.55);color:#fff;width:40px;height:40px;border-radius:50%;font-size:1.4rem;cursor:pointer}.lightbox-image-wrapper{position:relative;width:100%;min-height:60vh}.lightbox-image{object-fit:contain}@media (max-width:980px){.project-detail{grid-template-columns:1fr}.project-carousel-thumbnails{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.project-detail-page-content{padding-top:calc(var(--header-height) + var(--spacing-md))}.project-detail{gap:var(--spacing-md)}.project-detail-intro{align-items:flex-start}.project-actions{flex-direction:column;align-items:stretch}.footer-content{flex-direction:column;gap:var(--spacing-sm)}}.timeline{max-width:800px;margin:var(--spacing-lg) auto 0;position:relative}.timeline-item{display:grid;grid-template-columns:40px 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md);position:relative}.timeline .timeline-item{transition:opacity var(--transition-normal),transform var(--transition-normal)}.timeline:hover .timeline-item{opacity:.25}.timeline .timeline-item:hover{opacity:1;transform:translateY(-6px);z-index:2}.timeline-marker{display:flex;flex-direction:column;align-items:center;position:relative}.marker-dot{width:16px;height:16px;background-color:#ffffff;border:3px solid #ffffff;border-radius:50%;z-index:1}.marker-dot.current{background-color:#ffffff;border-color:#ffffff;box-shadow:0 0 0 4px rgba(255,255,255,.25)}html[data-theme=light] .marker-dot{background-color:var(--color-bg-secondary);border-color:var(--color-primary)}html[data-theme=light] .marker-dot.current{background-color:var(--color-primary);border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(0,0,0,.1)}.timeline-line{width:2px;flex:1;background-color:var(--color-border);margin-top:var(--spacing-xs)}.experience-card{background-color:var(--color-bg-secondary);padding:var(--spacing-md);border-radius:var(--border-radius-lg);border:1px solid var(--color-border)}.experience-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-sm);gap:var(--spacing-sm)}.experience-card h3{font-size:var(--font-size-lg);color:var(--color-text-primary);margin-bottom:4px}.company{color:var(--color-text-secondary)}.company,.period{font-size:var(--font-size-sm)}.period{color:var(--color-text-muted);font-weight:500;white-space:nowrap}.description{color:var(--color-text-secondary);line-height:1.7;margin-bottom:var(--spacing-sm)}.experience-tech{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.about{background-color:var(--color-bg-secondary)}.about-content{display:grid;grid-template-columns:2fr 2fr;gap:var(--spacing-lg);align-items:stretch;margin-top:var(--spacing-lg)}.about-text p{color:var(--color-text-secondary);line-height:1.8;margin-bottom:var(--spacing-md);font-size:var(--font-size-lg)}.skills-section{margin-top:var(--spacing-lg)}.skills-section h3{font-size:2rem;margin-bottom:var(--spacing-md);color:var(--color-text-primary);text-align:center}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md)}.skill-category{position:relative;overflow:hidden;min-height:80px;max-height:80px;padding:var(--spacing-md);border-radius:var(--border-radius-lg);border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05);backdrop-filter:blur(16px);transition:max-height .45s cubic-bezier(.22,1,.36,1),transform .45s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease,background-color .35s ease;display:grid;grid-template-rows:auto 1fr;cursor:pointer}.skill-category.active,.skill-category:hover{transform:scale(1.02);box-shadow:0 20px 60px rgba(0,0,0,.25);border-color:var(--accent)}.skill-category.active{max-height:340px}.category-header{gap:var(--spacing-sm)}.category-header,.category-title{display:flex;align-items:center;justify-content:center}.category-title{gap:.85rem;width:100%;height:100%}.skill-category:not(.active){width:220px;margin:0 auto;padding-top:1rem;padding-bottom:2rem}.category-title h4{font-size:1.2rem;font-weight:700;letter-spacing:-.02em}.category-icon{width:46px;height:46px;min-width:46px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.08);color:var(--accent);font-size:1.25rem}.category-title h4{font-size:1.05rem;margin:0;color:var(--color-text-primary)}.category-count{margin:0;color:rgba(255,255,255,.65);font-size:.8rem}.category-icon{width:52px;height:52px;font-size:1.4rem;border-radius:16px;background:rgba(255,255,255,.06)}html[data-theme=light] .skill-category{border:1px solid rgba(15,23,36,.12)}html[data-theme=light] .category-icon{background:rgba(15,23,36,.04);border:1px solid rgba(15,23,36,.12)}.skill-category.active .category-items{opacity:1;transform:translateY(0);max-height:200px;overflow-y:auto;padding-right:.2rem}.skill-category.active .category-items::-webkit-scrollbar{width:7px}.skill-category.active .category-items::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:999px}.skill-category.active .category-items::-webkit-scrollbar-track{background:transparent}.category-item{display:flex;align-items:center;gap:.85rem;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.06)}.category-item:last-child{border-bottom:none}.category-item-icon{width:34px;height:34px;min-width:34px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.08);color:var(--accent);font-size:1rem}.category-item-label{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:500}@media (max-width:900px){.skills-grid{grid-template-columns:1fr}}.about-avatar{position:relative;width:100%;min-height:520px;height:100%;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:24px}.about-avatar .avatar-image{position:absolute;inset:0;object-fit:cover;border-radius:0;transition:opacity .45s ease;opacity:0}.about-avatar .avatar-image.visible{opacity:1}.about-avatar .avatar-image.hidden{opacity:0}.contact-content{max-width:800px;margin:0 auto;text-align:center}.contact-intro{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.contact-links{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.contact-btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);min-height:100px;background-color:var(--contact-card-bg);border:2px solid var(--color-border);border-radius:var(--border-radius-lg);text-decoration:none;color:var(--color-text-primary);font-weight:500;transition:all var(--transition-normal);text-align:center}.contact-btn:hover{background-color:var(--contact-btn-hover-bg);color:var(--contact-btn-hover-text);border-color:var(--contact-btn-hover-border);transform:translateY(-2px);box-shadow:0 12px 18px rgba(0,0,0,.12)}.contact-icon{width:56px;height:56px;border-radius:12px;flex-shrink:0;overflow:hidden;background-color:var(--contact-icon-bg)}.contact-icon-img{width:100%;height:100%;object-fit:contain}.contact-label{font-size:var(--font-size-base);font-weight:600}.footer{background-color:var(--color-bg-dark);color:var(--color-text-inverse);padding:var(--spacing-md) 0;margin-top:var(--spacing-xl)}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer-left p{color:var(--color-text-muted);font-size:var(--font-size-sm)}.footer-right{display:flex;gap:var(--spacing-md)}.footer-right a{color:var(--color-text-muted);text-decoration:none;font-size:var(--font-size-sm);transition:color var(--transition-fast)}.footer-right a:hover{color:var(--color-text-inverse)}.theme-switch{background:transparent;border:none;padding:0;cursor:pointer;display:inline-flex;align-items:center}.switch-track{width:56px;height:30px;border-radius:999px;display:flex;align-items:center;padding:3px;box-sizing:border-box;background:var(--btn-border);transition:background .2s ease}.switch-thumb{width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:14px;transition:transform .2s ease,background .2s ease,color .2s ease;background:var(--btn-bg);color:var(--btn-text);box-shadow:0 2px 6px rgba(0,0,0,.15);transform:translateX(0)}html[data-theme=light] .switch-thumb{transform:translateX(26px)}html[data-theme=light] .switch-track{background:var(--btn-hover)}.header-right{display:flex;align-items:center;gap:12px}@media (max-width:768px){:root{--spacing-md:1.5rem;--spacing-lg:3rem;--spacing-xl:4rem;--font-size-3xl:2rem;--font-size-2xl:1.5rem}.container{padding:0 var(--spacing-sm)}.mobile-menu-toggle{display:flex}.nav{position:fixed;top:var(--header-height);left:0;right:0;flex-direction:column;background-color:var(--color-bg-primary);padding:var(--spacing-md);gap:var(--spacing-xs);border-bottom:1px solid var(--color-border);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all var(--transition-normal)}.nav.nav-open{transform:translateY(0);opacity:1;visibility:visible}.nav a.active:after{display:none}.hero{padding:calc(var(--header-height) + var(--spacing-lg)) 0 var(--spacing-lg) 0;min-height:auto}.hero-content{grid-template-columns:1fr;text-align:center}.hero-text h1{font-size:var(--font-size-2xl)}.hero-subtitle{font-size:var(--font-size-lg)}.hero-description{font-size:var(--font-size-base)}.hero-cta{flex-direction:column}.avatar-placeholder{width:200px;height:200px}.projects-grid{grid-template-columns:1fr}.timeline-item{grid-template-columns:30px 1fr;gap:var(--spacing-sm)}.marker-dot{width:12px;height:12px}.experience-header{flex-direction:column;align-items:flex-start}.period{white-space:normal}.about-content,.skills-grid{grid-template-columns:1fr}.about-avatar{order:-1}.contact-links{grid-template-columns:1fr}.footer-content{flex-direction:column;gap:var(--spacing-sm);text-align:center}.footer-right{flex-direction:column;gap:var(--spacing-xs)}}@media (max-width:480px){:root{--spacing-sm:0.75rem;--spacing-md:1rem;--font-size-3xl:1.75rem}.hero-cta .btn{width:100%}}