@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_84cc11e2-module__w1GFGa__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_84cc11e2-module__w1GFGa__variable{--font-primary:"Inter", "Inter Fallback"}
:root{--surface-primary:#121212;--surface-container:#1e1e1e;--surface-container-high:#2c2c2c;--surface-inverse:#e6e1e5;--on-surface:#e6e1e5;--on-surface-variant:#cac4d0;--on-surface-subtle:#938f99;--on-surface-inverse:#1c1b1f;--primary:#a8c7fa;--primary-hover:#d3e3fd;--primary-container:#004a77;--on-primary:#0842a0;--border:#938f99;--border-subtle:#49454f;--shadow-color:#0006;--code-background:#1e1e1e;--code-text:#cac4d0}[data-theme=light]{--surface-primary:#fff;--surface-container:#f5f5f5;--surface-container-high:#eee;--surface-inverse:#1c1b1f;--on-surface:#1c1b1f;--on-surface-variant:#49454f;--on-surface-subtle:#79747e;--on-surface-inverse:#f4eff4;--primary:#1a73e8;--primary-hover:#1557b0;--primary-container:#d3e3fd;--on-primary:#fff;--border:#c4c7c5;--border-subtle:#e0e0e0;--shadow-color:#00000014;--code-background:#f8f9fa;--code-text:#37474f}:root{--elevation-0:none;--elevation-1:0 1px 2px var(--shadow-color);--elevation-2:0 2px 6px var(--shadow-color);--elevation-3:0 4px 12px #0000001f;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--space-4xl:96px;--content-max-width:960px;--content-padding:16px;--section-gap:64px;--component-radius:8px;--nav-height:56px}@media (min-width:768px){:root{--content-padding:24px;--section-gap:96px;--nav-height:64px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-primary,"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);color:var(--on-surface);background-color:var(--surface-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;line-height:1.625}[dir=rtl] body{font-family:var(--font-arabic,"IBM Plex Sans Arabic", "Noto Sans Arabic", "Segoe UI", sans-serif);line-height:1.8}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-hover);text-decoration:underline}img{max-width:100%;height:auto;display:block}button{font:inherit;cursor:pointer;background:0 0;border:none}ul,ol{list-style:none}.display-large{letter-spacing:-.02em;font-size:2.25rem;font-weight:400;line-height:1.15}.headline-large{letter-spacing:-.01em;font-size:1.625rem;font-weight:400;line-height:1.3}.headline-medium{font-size:1.25rem;font-weight:400;line-height:1.35}.title-large{letter-spacing:.01em;text-transform:uppercase;color:var(--on-surface-variant);font-size:1.125rem;font-weight:500;line-height:1.4}.title-medium{font-size:1rem;font-weight:500;line-height:1.5}.body-large{font-size:1rem;font-weight:400;line-height:1.625}.body-medium{font-size:.875rem;font-weight:400;line-height:1.57}.label-large{letter-spacing:.01em;font-size:.875rem;font-weight:500;line-height:1.43}.label-small{letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-subtle);font-size:.6875rem;font-weight:500;line-height:1.45}@media (min-width:768px){.display-large{font-size:3rem;line-height:1.1}.headline-large{font-size:2rem;line-height:1.25}.headline-medium{font-size:1.5rem;line-height:1.33}.title-large{font-size:1.25rem}}.container{max-width:var(--content-max-width);padding-inline:var(--content-padding);margin-inline:auto}.section{padding-block:var(--section-gap)}.section+.section{padding-top:0}.section-header{margin-bottom:var(--space-2xl)}.section-header .headline-large{margin-bottom:var(--space-md)}.section-header .body-large{color:var(--on-surface-variant);max-width:68ch}.divider{border:none;border-top:1px solid var(--border-subtle);margin-block:var(--space-xl)}.nav{top:0;z-index:100;height:var(--nav-height);background-color:var(--surface-primary);align-items:center;transition:box-shadow .15s;display:flex;position:fixed;inset-inline:0}.nav.scrolled{box-shadow:var(--elevation-1)}.nav-inner{width:100%;max-width:var(--content-max-width);padding-inline:var(--content-padding);justify-content:space-between;align-items:center;margin-inline:auto;display:flex}.nav-wordmark{color:var(--on-surface);font-size:1rem;font-weight:500;text-decoration:none}.nav-wordmark:hover{color:var(--on-surface);text-decoration:none}.nav-links{align-items:center;gap:var(--space-xl);display:none}.nav-link{color:var(--on-surface-variant);border-bottom:2px solid #0000;padding-bottom:2px;font-size:.875rem;font-weight:400;text-decoration:none;transition:color .15s,border-color .15s}.nav-link:hover{color:var(--on-surface);text-decoration:none}.nav-link.active{color:var(--primary);border-bottom-color:var(--primary)}.nav-lang{align-items:center;gap:var(--space-sm);display:none}.nav-lang-link{color:var(--on-surface-subtle);text-transform:uppercase;font-size:.75rem;font-weight:500;text-decoration:none;transition:color .15s}.nav-lang-link:hover{color:var(--on-surface);text-decoration:none}.nav-lang-link.active{color:var(--primary)}.nav-lang-sep{color:var(--border);-webkit-user-select:none;user-select:none;font-size:.75rem}.nav-hamburger{width:44px;height:44px;color:var(--on-surface);justify-content:center;align-items:center;display:flex}.nav-hamburger svg{width:24px;height:24px}@media (min-width:768px){.nav-links,.nav-lang{display:flex}.nav-hamburger{display:none}}.drawer-scrim{z-index:200;opacity:0;visibility:hidden;background-color:#00000052;transition:opacity .2s,visibility .2s;position:fixed;inset:0}.drawer-scrim.open{opacity:1;visibility:visible}.drawer{z-index:201;background-color:var(--surface-primary);width:280px;height:100%;box-shadow:var(--elevation-3);padding:var(--space-lg);flex-direction:column;transition:transform .2s;display:flex;position:fixed;top:0}[dir=ltr] .drawer,:not([dir]) .drawer{right:0;transform:translate(100%)}[dir=ltr] .drawer.open,:not([dir]) .drawer.open{transform:translate(0)}[dir=rtl] .drawer{left:0;transform:translate(-100%)}[dir=rtl] .drawer.open{transform:translate(0)}.drawer-close{width:44px;height:44px;color:var(--on-surface);margin-bottom:var(--space-xl);justify-content:center;align-self:flex-end;align-items:center;display:flex}.drawer-close svg{width:24px;height:24px}.drawer-nav{flex-direction:column;flex:1;gap:0;display:flex}.drawer-link{color:var(--on-surface);padding-block:var(--space-md);border-bottom:1px solid var(--border-subtle);font-size:1.25rem;font-weight:400;line-height:1.4;text-decoration:none;transition:color .15s}.drawer-link:hover{color:var(--primary);text-decoration:none}.drawer-lang{align-items:center;gap:var(--space-md);padding-top:var(--space-xl);margin-top:auto;display:flex}.drawer-lang-link{color:var(--on-surface-subtle);text-transform:uppercase;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .15s}.drawer-lang-link:hover{color:var(--on-surface);text-decoration:none}.drawer-lang-link.active{color:var(--primary)}.hero{padding-top:calc(var(--nav-height) + var(--space-3xl));padding-bottom:var(--space-3xl)}.hero-label{color:var(--on-surface-subtle);margin-bottom:var(--space-md)}.hero-name{margin-bottom:var(--space-lg)}.hero-description{color:var(--on-surface-variant);max-width:68ch;margin-bottom:var(--space-xl)}.hero-actions{gap:var(--space-md);flex-direction:column;display:flex}@media (min-width:768px){.hero{padding-top:calc(var(--nav-height) + var(--space-4xl))}.hero-actions{gap:var(--space-md);flex-direction:row}}.btn{justify-content:center;align-items:center;gap:var(--space-sm);letter-spacing:.01em;border-radius:var(--component-radius);white-space:nowrap;min-height:44px;padding:12px 24px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,box-shadow .15s;display:inline-flex}.btn-primary{background-color:var(--primary);color:var(--on-primary)}.btn-primary:hover{background-color:var(--primary-hover);color:var(--on-primary);text-decoration:none}.btn-outlined{color:var(--primary);border:1px solid var(--primary);background-color:#0000}.btn-outlined:hover{background-color:var(--primary-container);color:var(--primary-hover);text-decoration:none}@media (max-width:767px){.btn{width:100%}}.project-list{gap:var(--space-xl);flex-direction:column;display:flex}.project-card{background-color:var(--surface-container);border:1px solid var(--border-subtle);border-radius:var(--component-radius);padding:var(--space-lg);transition:box-shadow .15s,border-color .15s}.project-card:hover{box-shadow:var(--elevation-2);border-color:var(--border)}.project-card-meta{margin-bottom:var(--space-md)}.project-card-title{color:var(--on-surface);margin-bottom:var(--space-md)}.project-card-summary{color:var(--on-surface-variant);margin-bottom:var(--space-lg);max-width:68ch}.project-chips{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-wrap:wrap;display:flex}.chip{background-color:var(--primary-container);color:var(--on-surface);white-space:nowrap;border-radius:100px;align-items:center;padding:4px 12px;font-size:.75rem;font-weight:500;display:inline-flex}.project-card-link{font-size:.875rem;font-weight:500}@media (min-width:768px){.project-card{padding:var(--space-xl)}}.project-detail{padding-top:calc(var(--nav-height) + var(--space-2xl))}.project-detail-header{margin-bottom:var(--space-2xl)}.project-detail-back{align-items:center;gap:var(--space-sm);color:var(--on-surface-variant);margin-bottom:var(--space-xl);font-size:.875rem;display:inline-flex}.project-detail-back:hover{color:var(--primary)}.project-detail-section{margin-bottom:var(--space-2xl)}.project-detail-section h3{color:var(--on-surface);margin-bottom:var(--space-md);font-size:1.125rem;font-weight:500}.project-detail-section p{color:var(--on-surface-variant);max-width:68ch;line-height:1.625}.project-detail-section ul{padding-inline-start:var(--space-lg);list-style:outside}.project-detail-section li{color:var(--on-surface-variant);margin-bottom:var(--space-sm);line-height:1.625}.project-detail-status{color:var(--on-surface-subtle);font-style:italic}.resume-intro{margin-bottom:var(--space-xl)}.resume-intro p{color:var(--on-surface-variant);max-width:68ch;margin-bottom:var(--space-md)}.resume-intro p:last-child{margin-bottom:0}.resume-actions{gap:var(--space-md);margin-bottom:var(--space-xl);flex-direction:column;display:flex}@media (min-width:768px){.resume-actions{flex-direction:row}}.resume-subsection{margin-bottom:var(--space-xl)}.resume-subsection-title{margin-bottom:var(--space-lg)}.education-entry{margin-bottom:var(--space-md)}.education-degree{color:var(--on-surface);font-weight:500}.education-institution{color:var(--on-surface-variant);font-size:.875rem}.experience-entry{margin-bottom:var(--space-xl);border-inline-start:2px solid var(--border-subtle);padding-inline-start:var(--space-md)}.experience-role{color:var(--on-surface);font-weight:500}.experience-meta{color:var(--on-surface-subtle);margin-bottom:var(--space-md);font-size:.875rem}.experience-bullets{padding-inline-start:var(--space-lg);list-style:outside}.experience-bullets li{color:var(--on-surface-variant);margin-bottom:var(--space-sm);line-height:1.625}.skills-grid{gap:var(--space-xl);grid-template-columns:1fr;display:grid}@media (min-width:768px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.skills-grid{grid-template-columns:repeat(3,1fr)}}.skills-category-title{color:var(--on-surface);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle);font-size:.875rem;font-weight:500}.skills-list li{color:var(--on-surface-variant);font-size:.875rem;line-height:1.8}.skills-supplementary{color:var(--on-surface-subtle);font-style:italic}.contact{padding-bottom:var(--space-2xl)}.contact-description{color:var(--on-surface-variant);max-width:68ch;margin-bottom:var(--space-lg)}.contact-links{gap:var(--space-sm);flex-direction:column;display:flex}.contact-link-item{align-items:baseline;gap:var(--space-sm);display:flex}.contact-link-label{color:var(--on-surface-subtle);min-width:4rem;font-size:.875rem;font-weight:500}.contact-link-value{font-size:.875rem}.footer{background-color:var(--surface-inverse);color:var(--on-surface-inverse);padding-block:var(--space-lg);text-align:center}.footer-text{font-size:.875rem;line-height:1.57}[dir=rtl] .label-small,[dir=rtl] .title-large,[dir=rtl] .display-large{letter-spacing:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
