@font-face{font-family:Amiri Quran;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/amiri-quran-arabic-400-normal-wRcqfVJx.woff2) format("woff2"),url(/assets/amiri-quran-arabic-400-normal-CZ144KtP.woff) format("woff")}.site-shell{position:relative;isolation:isolate;min-height:var(--viewport-height, 100vh);--sidebar-width: 210px;--sidebar-offset: clamp(2rem, 3vw, 4.5rem);--sidebar-top-offset: clamp(2.8rem, 4vw, 4.2rem);--content-offset: calc(var(--sidebar-width) + var(--sidebar-offset));--content-gutter: clamp(1rem, 2.4vw, 2.5rem)}.container{width:min(1120px,calc(var(--viewport-width, 100vw) - var(--content-offset) - (var(--content-gutter) * 2)));max-width:100%;margin-inline:auto}.side-header{position:fixed;top:var(--sidebar-top-offset);left:var(--sidebar-offset);width:var(--sidebar-width);height:100vh;background:transparent;border-right:0;z-index:30;display:flex;flex-direction:column;justify-content:flex-start;padding-top:1.3rem}.side-header-top{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem}.side-portrait{width:112px;height:112px;border-radius:50%;margin-bottom:1.25rem;margin-inline-start:2.3rem;border:1.5px solid #7dd6d3;position:relative;overflow:hidden;isolation:isolate;background:transparent}.portrait-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transform-origin:center;backface-visibility:hidden;will-change:transform,filter,opacity}.portrait-image.portrait-contain{object-fit:contain;background-color:transparent}.portrait-button{border:0;background:transparent;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;appearance:none;touch-action:manipulation;outline:none;box-shadow:none;perspective:900px;transform-style:preserve-3d}.portrait-button:focus,.portrait-button:active{outline:none;box-shadow:none}.portrait-button:focus-visible{outline:none;box-shadow:none;border-radius:50%}.menu-toggle{display:none;border:0;background:transparent;color:var(--text);font:inherit;padding:.2rem 0;cursor:pointer;letter-spacing:.02em;outline:none;-webkit-tap-highlight-color:transparent}.menu-toggle:hover{color:var(--accent)}.menu-toggle:focus,.menu-toggle:focus-visible,.menu-toggle:active{outline:none;box-shadow:none}.side-controls{position:fixed;top:max(.9rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));z-index:80;display:inline-flex;flex-direction:row;align-items:center;direction:ltr;unicode-bidi:isolate}.side-controls>*+*{margin-left:.6rem}.fairuz-button-image+.music-toggle{margin-left:.12rem}.theme-toggle{position:relative;width:1.7rem;height:1.7rem;border:0;border-radius:999px;background:transparent;color:#f5aa28;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;direction:ltr;unicode-bidi:isolate;transition:border-color .2s ease,background-color .2s ease,color .2s ease}.theme-toggle:hover{color:#e39824}.theme-toggle:focus-visible{outline:none;box-shadow:none}.theme-toggle.is-light{background:transparent;color:#d99022}.theme-toggle.is-dark{background:transparent;color:color-mix(in srgb,var(--accent) 88%,#f6ad2f)}.theme-mode-icon{width:1.05rem;height:1.05rem;display:block;object-fit:contain;pointer-events:none}.music-toggle{border:0;background:transparent;color:var(--muted);width:1.7rem;height:1.7rem;border-radius:999px;padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:color .2s ease;box-sizing:border-box}.music-toggle:hover{color:var(--text)}.music-toggle:focus-visible{outline:none;box-shadow:none}.music-toggle.is-playing{color:var(--text)}.fairuz-button-image{width:1.7rem;height:1.7rem;object-fit:contain;flex-shrink:0;display:block;pointer-events:none}.side-nav{width:100%;padding:0 1.2rem 2.2rem;margin-top:1.5rem;display:grid;gap:.55rem}.side-link-group{display:contents}.side-link{display:inline-flex;align-items:center;gap:.85rem;font-size:clamp(1.2rem,1.5vw,1.6rem);color:var(--muted);letter-spacing:-.015em;line-height:1.25;transition:color .26s cubic-bezier(.23,1,.32,1)}.side-link.is-active,.side-link:hover{color:var(--text)}.nav-dot{width:1.1rem;text-align:center;color:var(--text);font-size:.72em}.nav-arrow{display:inline-block;transform-origin:center}.nav-arrow-rotating-up{-webkit-animation:nav-arrow-rotate-up .36s cubic-bezier(.4,0,.2,1) forwards;animation:nav-arrow-rotate-up .36s cubic-bezier(.4,0,.2,1) forwards}.nav-arrow-rotating-down{-webkit-animation:nav-arrow-rotate-down .36s cubic-bezier(.4,0,.2,1) forwards;animation:nav-arrow-rotate-down .36s cubic-bezier(.4,0,.2,1) forwards}@-webkit-keyframes nav-arrow-rotate-up{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}}@keyframes nav-arrow-rotate-up{0%{transform:rotate(0)}to{transform:rotate(-90deg)}}@-webkit-keyframes nav-arrow-rotate-down{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(90deg);transform:rotate(90deg)}}@keyframes nav-arrow-rotate-down{0%{transform:rotate(0)}to{transform:rotate(90deg)}}.rocket-overlay{position:fixed;z-index:9999;pointer-events:none;color:var(--text);line-height:1;will-change:transform;-webkit-animation:rocket-fly .82s cubic-bezier(.16,1,.3,1) forwards;animation:rocket-fly .82s cubic-bezier(.16,1,.3,1) forwards}.rocket-char-up,.rocket-char-down{display:inline-block;font-size:.72em;transform-origin:center}.rocket-char-up{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.rocket-char-down{-webkit-transform:rotate(90deg);transform:rotate(90deg)}@-webkit-keyframes rocket-fly{0%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(var(--rocket-travel, 0px));transform:translateY(var(--rocket-travel, 0px))}}@keyframes rocket-fly{0%{transform:translateY(0)}to{transform:translateY(var(--rocket-travel, 0px))}}.smoke-puff{position:fixed;width:5px;height:5px;border-radius:50%;background:var(--muted);z-index:9998;pointer-events:none;opacity:0;will-change:transform,opacity;-webkit-transform:translate(-50%,-50%) scale(.5);transform:translate(-50%,-50%) scale(.5);-webkit-animation:smoke-expand .35s ease-out forwards;animation:smoke-expand .35s ease-out forwards}@-webkit-keyframes smoke-expand{0%{opacity:.5;-webkit-transform:translate(-50%,-50%) scale(.5);transform:translate(-50%,-50%) scale(.5)}to{opacity:0;-webkit-transform:translate(-50%,calc(-50% + var(--smoke-drift, 10px))) scale(2.5);transform:translate(-50%,calc(-50% + var(--smoke-drift, 10px))) scale(2.5)}}@keyframes smoke-expand{0%{opacity:.5;transform:translate(-50%,-50%) scale(.5)}to{opacity:0;transform:translate(-50%,calc(-50% + var(--smoke-drift, 10px))) scale(2.5)}}.mobile-menu-ornament{display:none}.content-shell{margin-left:var(--content-offset);padding-inline:var(--content-gutter);min-height:calc(var(--viewport-height, 100vh) - 70px);padding-top:clamp(.4rem,1vw,1rem);min-width:0}.section-block{padding-block:clamp(2.8rem,4.6vw,5rem);min-width:0}.page-pad{min-height:max(34rem,calc(var(--viewport-height, 100vh) - 90px))}.page-transition{position:relative;z-index:1;animation:pageFade .45s cubic-bezier(.2,.8,.2,1);min-width:0}.site-footer{margin-left:var(--content-offset);padding-inline:var(--content-gutter);border-top:0;margin-top:auto}.footer-row{padding-block:1.6rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;color:var(--muted);font-size:.9rem;text-align:center;width:100%}.footer-logo{width:min(130px,36vw);height:auto;display:block}.footer-brand{position:relative;display:inline-flex;align-items:center;justify-content:center}.footer-copyright{position:absolute;top:-.2rem;right:.1rem;font-size:clamp(.55rem,1.6vw,.7rem);color:var(--muted);letter-spacing:.08em}.portrait-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#05080c80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);perspective:1400px}.portrait-modal-close{position:absolute;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));border:none;background:transparent;color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer;padding:0;z-index:1}.portrait-modal-close:focus-visible{outline:none;box-shadow:none}.portrait-modal-body{display:flex;flex-direction:column;align-items:center;gap:1.2rem;transform-style:preserve-3d;max-height:calc(100dvh - 4rem);max-height:calc(100vh - 4rem)}.portrait-modal-body .portrait-modal-image{flex-shrink:1;min-height:0}.portrait-modal-hint{color:var(--text);font-size:.95rem;margin:0;cursor:default;-webkit-user-select:none;user-select:none}.portrait-modal-image{width:min(82vmin,820px);aspect-ratio:1 / 1;border-radius:50%;position:relative;overflow:hidden;isolation:isolate;background:transparent;transform-style:preserve-3d;backface-visibility:hidden}.side-portrait{--portrait-transition-duration: .46s}.portrait-modal-image{--portrait-transition-duration: .56s}.side-portrait.is-transitioning .portrait-image,.portrait-modal-image.is-transitioning .portrait-image{animation:portraitBlurSwap var(--portrait-transition-duration) ease-in-out}@keyframes portraitBlurSwap{0%{filter:blur(0px);opacity:1}48%{filter:blur(8px);opacity:.7}to{filter:blur(0px);opacity:1}}@media(prefers-reduced-motion:reduce){.side-portrait.is-transitioning .portrait-image,.portrait-modal-image.is-transitioning .portrait-image{animation:none;opacity:.96;transition:opacity .12s linear}}@keyframes pageFade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1200px){.site-shell{--sidebar-width: 180px;--sidebar-offset: clamp(1.2rem, 2vw, 2.5rem)}}:root[data-screen=wide] .site-shell{--sidebar-width: 230px;--sidebar-offset: clamp(2.4rem, 3vw, 5rem);--content-gutter: clamp(1.5rem, 2.8vw, 3.4rem)}:root[data-screen=wide] .container{width:min(1220px,calc(var(--viewport-width, 100vw) - var(--content-offset) - (var(--content-gutter) * 2)))}:root[data-screen=tablet] .site-shell{--content-gutter: clamp(1rem, 2.8vw, 1.6rem)}:root[data-screen=tablet] .page-pad{min-height:auto}@media(min-width:781px)and (max-height:900px){.site-shell{--sidebar-top-offset: clamp(1.45rem, 2.4vw, 2.2rem)}.side-header{padding-top:.8rem}.side-nav{margin-top:1.2rem}}@media(max-width:780px){.site-shell{--content-offset: 0px;--content-gutter: clamp(.8rem, 3vw, 1.2rem)}.side-header{position:sticky;top:0;width:100%;height:auto;border-right:0;border-bottom:0;flex-direction:column;align-items:stretch;gap:.6rem;padding:max(.8rem,env(safe-area-inset-top)) max(.8rem,env(safe-area-inset-right)) .5rem max(.8rem,env(safe-area-inset-left));background:var(--bg)}.site-shell.is-theme-transitioning .side-header{background:transparent}.side-header-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%}.side-controls{position:static;display:inline-flex;grid-column:3;grid-row:1;justify-self:end;align-items:center}.side-controls>*+*{margin-left:.2rem}.fairuz-button-image+.music-toggle{margin-left:.02rem}.music-toggle,.theme-toggle{width:2.45rem;height:2.45rem}.side-portrait{width:54px;height:54px;margin-bottom:0;margin-inline-start:0}.portrait-button{grid-column:2;grid-row:1;justify-self:center}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;grid-column:1;grid-row:1;justify-self:start}.side-nav{display:none;gap:.7rem;padding:.75rem .5rem 1rem;margin-top:0;border-top:1px solid var(--line);background:var(--bg);text-align:center}.side-nav.is-open{display:grid;justify-items:center}.side-link{font-size:1.1rem;justify-content:center;gap:0;position:relative}.nav-dot{position:absolute;left:-1.2rem;width:0}.mobile-menu-ornament{display:flex;align-items:center;justify-content:center;gap:.7rem;width:min(220px,64vw);margin:.85rem auto .15rem;color:color-mix(in srgb,var(--muted) 34%,var(--line));opacity:.82}.mobile-menu-ornament:before,.mobile-menu-ornament:after{content:"";flex:1 1 auto;height:1px;background:linear-gradient(to var(--ornament-flow, right),transparent,currentColor 28%,currentColor 100%)}.mobile-menu-ornament:after{--ornament-flow: left}.mobile-menu-ornament-center{width:34px;height:14px;flex:0 0 auto;background-repeat:no-repeat;background-position:center;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 14' fill='none'%3E%3Cpath d='M1 13L7 2l6 11H1Z' stroke='%23959dab' stroke-width='1.1' stroke-linejoin='miter'/%3E%3Cpath d='M9 13l6-11 6 11H9Z' stroke='%23959dab' stroke-width='1.1' stroke-linejoin='miter'/%3E%3Cpath d='M17 13l6-11 6 11H17Z' stroke='%23959dab' stroke-width='1.1' stroke-linejoin='miter'/%3E%3C/svg%3E")}.content-shell,.site-footer{margin-left:0;margin-right:0}.content-shell,.page-transition,.section-block{max-width:100%;overflow-x:visible}.site-footer{padding-bottom:env(safe-area-inset-bottom)}}@media(max-width:420px){.site-shell{--content-gutter: .75rem}.side-portrait{width:44px;height:44px}.side-nav{gap:.5rem}}:root[data-screen=phone] .page-pad{min-height:auto}:root[data-screen=phone][data-orientation=landscape] .page-pad{padding-block:2rem}.section-title{max-width:68ch;margin-bottom:clamp(2.4rem,4vw,3.2rem);text-wrap:balance}.section-title h2{font-size:clamp(1.35rem,2.1vw,2rem);line-height:1.25}.loading-skip-hint{position:absolute;top:max(1.2rem,env(safe-area-inset-top));right:max(1.2rem,env(safe-area-inset-right));font-family:var(--font-base);font-size:clamp(.62rem,1.4vw,.76rem);color:var(--muted);opacity:.4;letter-spacing:.05em;-webkit-user-select:none;user-select:none;pointer-events:none}.loading-scramble{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:var(--bg);pointer-events:none}.loading-scramble-inner{display:flex;flex-direction:column;align-items:center;gap:0;max-width:100%}.loading-scramble-logo{width:clamp(120px,22vw,210px);max-height:30vh;height:auto;object-fit:contain;opacity:.9}.loading-scramble-logo--light{display:none}:root[data-theme=light] .loading-scramble-logo--dark{display:none}:root[data-theme=light] .loading-scramble-logo--light{display:block}.loading-scramble-text{color:var(--loader-text);font-size:clamp(1.7rem,3.8vw,3rem);font-family:var(--font-loader-arabic);font-weight:400;letter-spacing:0;direction:rtl;unicode-bidi:plaintext;text-align:center;max-width:92vw;line-height:1.4;font-feature-settings:"liga" 1,"calt" 1,"kern" 1;font-variant-ligatures:common-ligatures contextual discretionary-ligatures;font-synthesis:none;text-rendering:geometricPrecision;text-shadow:var(--loader-text-shadow)}.loading-scramble-text.is-settled{animation:loaderCalligraphySettle .48s cubic-bezier(.2,.8,.2,1)}@media(max-width:768px){.section-title{margin-bottom:1.8rem}.section-title h2{font-size:clamp(1.3rem,6vw,1.8rem)}.loading-scramble-logo{width:clamp(100px,30vw,150px)}.loading-scramble-text{font-size:clamp(1.4rem,8vw,2rem);max-width:88vw}}@media(max-height:500px){.loading-scramble-logo{width:clamp(56px,13vh,90px);max-height:22vh}.loading-scramble-text{font-size:clamp(1rem,4.5vh,1.6rem)}}@media(max-width:360px){.loading-scramble-logo{width:clamp(90px,26vw,120px)}.loading-scramble-text{font-size:clamp(1.3rem,9vw,1.8rem)}}@keyframes loaderCalligraphySettle{0%{opacity:.86;transform:translateY(4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.loading-scramble.is-exiting{opacity:0;transition:opacity .5s ease-in-out;pointer-events:none}.scroll-section .section-title{text-align:center;margin-inline:auto}.scroll-section{scroll-margin-top:1.5rem;min-width:0}:root[data-screen=phone] .scroll-section,:root[data-screen=tablet] .scroll-section{scroll-margin-top:5rem}@media(max-width:780px){.scroll-section{max-width:100%;min-width:0}}.experience-list{width:min(100%,760px);margin-inline:auto;display:grid;gap:2.8rem}.experience-block{display:grid;gap:.3rem;text-wrap:pretty}.experience-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}.experience-role{color:var(--text);font-size:clamp(1rem,1.25vw,1.12rem);font-weight:600;line-height:1.3}.experience-dates{color:var(--muted);font-size:clamp(.82rem,1vw,.9rem);font-weight:400;letter-spacing:.01em;white-space:nowrap}.experience-meta{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}.experience-company{color:var(--muted);font-size:clamp(.9rem,1.1vw,1rem);font-style:italic}.experience-company-link{color:var(--link)}.experience-location{color:var(--muted);font-size:clamp(.82rem,1vw,.9rem);opacity:.7}.experience-body{color:var(--muted);font-size:clamp(1rem,1.15vw,1.45rem);line-height:1.5;display:grid;gap:clamp(.65rem,1vw,.95rem)}.experience-body p{margin:0}.experience-body a{color:var(--link)}@media(max-width:768px){.experience-header,.experience-meta{flex-direction:column;gap:.15rem}}.about-prose{width:min(100%,760px);margin-inline:auto;color:var(--muted);font-size:clamp(1rem,1.15vw,1.45rem);line-height:1.5;padding-top:clamp(1.5rem,9vh,6rem);text-wrap:pretty}.about-prose a{color:var(--link)}.about-prose.bio-prose{padding-top:0}.about-prose.bio-prose p{text-indent:2em;margin-bottom:.75rem}.pong-section{padding-block:clamp(3.2rem,5vw,5rem) clamp(6rem,35vh,22rem)}.pong-shell{width:min(100%,760px);margin-inline:auto;display:grid;gap:.8rem}.pong-field{position:relative;width:100%;aspect-ratio:760 / 420;overflow:hidden;background:transparent;outline:none;touch-action:none}.pong-toggle{position:absolute;top:0;right:0;z-index:2;border:0;background:transparent;color:var(--muted);font:inherit;font-size:1rem;line-height:1;padding:.25rem 0;cursor:pointer}.pong-center-line{position:absolute;inset:1rem auto 1rem 50%;width:1px;background:repeating-linear-gradient(to bottom,var(--line) 0 12px,transparent 12px 24px);transform:translate(-50%)}.pong-paddle,.pong-ball{position:absolute;top:0;background:var(--text);will-change:top,left}.pong-paddle{width:calc(100% * 10 / 760);height:20%}.pong-paddle-player{left:calc(100% * 18 / 760)}.pong-paddle-ai{left:calc(100% * 732 / 760)}.pong-ball{left:0;width:calc(100% * 10 / 760);height:calc(100% * 10 / 420);border-radius:50%}.pong-instructions{color:var(--muted);font-size:.9rem;line-height:1.45;text-align:center}.pong-mobile-controls{display:flex;align-items:center;justify-content:space-between;gap:1rem}.pong-mobile-note{margin:0;max-width:min(100%,24rem);color:var(--muted);align-self:center;font-size:.76rem;line-height:1.35;text-wrap:pretty;text-align:left}.pong-mobile-rocker{flex-shrink:0;display:flex;flex-direction:column;gap:.4rem;background:transparent;border:none;width:3.4rem}.pong-mobile-button{display:flex;align-items:center;justify-content:center;width:100%;height:3.2rem;border:none;border-radius:0;background:#2c2c3a;color:#b8b8cc;font:inherit;font-size:1rem;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;transition:background-color .08s ease,color .08s ease}.pong-mobile-button:first-child{clip-path:polygon(50% 0%,100% 44%,100% 100%,0% 100%,0% 44%);padding-top:1.3rem}.pong-mobile-button:last-child{clip-path:polygon(0% 0%,100% 0%,100% 56%,50% 100%,0% 56%);padding-bottom:1.3rem}:root[data-theme=light] .pong-mobile-button{background:#8c8078;color:#f0ebe5}.pong-mobile-button-glyph{display:inline-block;line-height:1}.pong-mobile-button:active{background:#44445a;color:#e8e8f8}:root[data-theme=light] .pong-mobile-button:active{background:#6e6460;color:#f5f0ec}.pong-mobile-button:focus-visible{outline:none;box-shadow:none}.about-prose p+p{margin-top:clamp(.95rem,1.5vw,1.5rem)}.about-greeting{color:var(--text);font-size:clamp(1rem,1.15vw,1.45rem);font-weight:500;margin-bottom:.2rem}.about-signature{font-family:Qwitcher Grypen,cursive;font-size:1.8em;font-weight:400;color:var(--muted);line-height:1.2;letter-spacing:-.04em;word-spacing:.3em}.projects-list{width:min(100%,760px);margin-inline:auto;display:grid;gap:.8rem}.project-row-link{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:1.1rem;padding:.85rem .4rem;width:100%;border-radius:8px;transition:color .2s ease}.project-year{color:var(--muted);font-weight:600;letter-spacing:.01em}.project-main{display:grid;gap:.25rem;justify-self:start;width:fit-content}.project-name{color:var(--link);font-size:clamp(1rem,1.25vw,1.12rem);font-weight:500;line-height:1.2}.project-summary{color:var(--muted);font-size:clamp(.98rem,1.2vw,1.28rem);line-height:1.45;max-width:62ch}.research-list,.certifications-list{width:min(100%,760px);margin-inline:auto;display:grid;gap:.8rem}.research-row-link,.certification-row-link{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:1.1rem;padding:.85rem .4rem;width:100%}.research-year,.certification-year{color:var(--muted);font-weight:600;letter-spacing:.01em}.research-name,.certification-name{font-size:clamp(1rem,1.25vw,1.12rem);font-weight:500;line-height:1.2}.research-name{color:var(--link)}.certification-name{color:var(--text)}.certification-name-link{color:var(--link)}.certification-name-link{width:fit-content}.research-summary,.certification-summary{color:var(--muted);font-size:clamp(.98rem,1.2vw,1.28rem);line-height:1.45;max-width:62ch}.research-main,.certification-main{display:grid;gap:.25rem;justify-self:start;width:fit-content}.certificate-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:1rem;background:#080b108c;-webkit-backdrop-filter:blur(28px) saturate(.8);backdrop-filter:blur(28px) saturate(.8)}.certificate-modal-card{width:min(960px,100%);height:min(88vh,980px)}.certificate-modal-close{position:absolute;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));border:none;background:transparent;color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer;padding:0;z-index:1}.certificate-modal-frame{width:100%;height:100%;border:0;background:#fff}.fun-facts-grid{width:min(100%,760px);margin-inline:auto;display:grid;gap:.5rem}.fun-fact-card{display:grid;grid-template-columns:1.4rem 1fr;align-items:baseline;gap:.8rem;padding:.5rem 0}.fun-fact-icon{font-size:.8rem;color:var(--muted)}.fun-fact-text{color:var(--text);font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.6}.fun-fact-text a{color:var(--link)}.social-list{width:min(100%,760px);margin-inline:auto;display:grid;gap:.85rem;justify-items:center}.social-link{display:inline-grid;grid-template-columns:auto 1.15rem;align-items:center;justify-content:center;column-gap:.8rem;width:fit-content;color:var(--link);font-size:clamp(1.02rem,1.2vw,1.25rem);line-height:1.35}.dont-click-link{display:block;text-align:center;text-decoration:none;font-size:clamp(.65rem,1vw,.75rem);color:var(--muted);opacity:.55;margin-top:auto;padding-top:clamp(1.25rem,3vw,2rem)}.social-icon{width:1.15rem;height:1.15rem;display:inline-grid;place-items:center;color:var(--muted);flex-shrink:0;overflow:hidden}.social-icon svg{width:100%;height:100%;display:block}.social-icon img,.social-icon-image{width:100%;height:100%;display:block;object-fit:contain;filter:grayscale(1)}.social-section{display:flex;flex-direction:column;justify-content:center}.chat-shell{width:min(100%,760px);margin-inline:auto;display:grid;gap:1rem}.chat-intro{max-width:58ch;color:var(--muted);font-size:clamp(.98rem,1.1vw,1.08rem);line-height:1.6}.chat-log{min-height:18rem;max-height:min(30rem,60vh);overflow-y:auto;padding-block:1rem;padding-right:1rem;display:grid;gap:.95rem}.chat-empty{color:var(--muted);font-size:clamp(.98rem,1.1vw,1.05rem);line-height:1.6}.chat-entry{display:grid;gap:.3rem;align-items:start;max-width:100%;min-width:0}.chat-entry-user{justify-items:end}.chat-entry-assistant{justify-items:start}.chat-role{color:var(--muted);font-size:.72rem;letter-spacing:.04em}.chat-bubble{max-width:min(70%,32rem);min-width:0;margin:0;padding:.6rem .85rem;border:1px solid var(--line);border-radius:12px;box-sizing:border-box;color:var(--text);font-size:clamp(.9rem,1.1vw,1rem);line-height:1.55;background:transparent;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.chat-bubble-pending{color:var(--muted);font-style:italic}.chat-form{display:grid;gap:.75rem}.chat-label{color:var(--muted);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.chat-input-wrap{position:relative;border-radius:8px;overflow:hidden}.chat-input{width:100%;min-height:3.5rem;resize:none;overflow-y:auto;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:1rem;line-height:1.6;padding:.9rem 1rem 3.5rem;outline:none;box-sizing:border-box}.chat-input::placeholder{color:var(--placeholder)}.chat-input:focus-visible{border-color:var(--accent)}.chat-input:disabled{opacity:.72}.chat-hint{color:var(--muted);font-size:.82rem}.chat-submit{position:absolute;bottom:.9rem;right:.6rem;width:2.1rem;height:2.1rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:var(--accent);color:var(--bg);cursor:pointer;transition:opacity .2s ease,background-color .2s ease}.chat-submit:hover:not(:disabled){opacity:.85}.chat-submit:focus-visible{outline:none;box-shadow:none}.chat-submit:disabled{cursor:default;opacity:.35}.chat-error{margin:0;color:#c75a5a;font-size:.92rem;line-height:1.5}:root[data-screen=wide] .about-prose,:root[data-screen=wide] .experience-list,:root[data-screen=wide] .projects-list,:root[data-screen=wide] .research-list,:root[data-screen=wide] .certifications-list,:root[data-screen=wide] .social-list,:root[data-screen=wide] .fun-facts-grid,:root[data-screen=wide] .chat-shell,:root[data-screen=wide] .pong-shell{width:min(100%,820px)}:root[data-screen=tablet] .about-prose,:root[data-screen=tablet] .experience-list,:root[data-screen=tablet] .projects-list,:root[data-screen=tablet] .research-list,:root[data-screen=tablet] .certifications-list,:root[data-screen=tablet] .social-list,:root[data-screen=tablet] .fun-facts-grid,:root[data-screen=tablet] .chat-shell,:root[data-screen=tablet] .pong-shell{width:min(100%,720px)}@media(max-width:768px){.about-prose{width:min(100%,680px);font-size:clamp(.95rem,4.2vw,1.2rem);line-height:1.55;padding-top:clamp(.75rem,4vh,2rem)}.projects-list,.pong-shell,.research-list,.certifications-list,.chat-shell{width:min(100%,680px)}.experience-list{width:min(100%,680px);gap:2.1rem}.experience-role{font-size:clamp(1rem,4.8vw,1.12rem)}.experience-company{font-size:clamp(.95rem,4vw,1rem)}.experience-body{font-size:clamp(.98rem,4vw,1.1rem);gap:.55rem}.research-row-link,.certification-row-link,.project-row-link{grid-template-columns:1fr;gap:.5rem;padding:.8rem 0;width:100%}.certificate-modal{padding:.75rem}.certificate-modal-card{height:min(82vh,720px)}.pong-mobile-button{height:3rem;font-size:.92rem}.pong-toggle{font-size:.92rem}.pong-instructions{font-size:.84rem}.pong-mobile-note{font-size:.72rem;max-width:18rem}.chat-log{min-height:15rem;max-height:none;padding-right:0}.chat-actions{flex-direction:column;align-items:stretch}}@media(max-width:420px){.about-prose{font-size:clamp(.9rem,4vw,1rem);padding-top:clamp(.5rem,3vh,1.2rem)}.experience-list{gap:1.7rem}.experience-block{gap:.2rem}.experience-dates,.experience-location,.project-year,.research-year,.certification-year{font-size:.78rem}.section-title{font-size:clamp(1.4rem,6vw,1.8rem)}.pong-instructions{font-size:.78rem}.pong-shell{gap:.6rem}.pong-mobile-controls{align-items:center}.pong-mobile-rocker{width:2.8rem}.pong-mobile-note{font-size:.7rem;max-width:13rem}.pong-mobile-button{height:2.8rem;font-size:.88rem}.chat-log{padding-block:.85rem}.chat-bubble{max-width:100%;padding:.45rem .7rem;font-size:.9rem}.chat-input{min-height:3.5rem;padding:.8rem .85rem 3.5rem}}:root[data-screen=phone] .social-link{width:100%;justify-content:center;text-align:center}:root[data-screen=phone] .dont-click-link{font-size:.68rem;padding-top:1.25rem;margin-top:0}:root[data-screen=tablet] .dont-click-link{padding-top:1.5rem}:root[data-screen=phone][data-orientation=landscape] .about-prose{padding-top:.25rem}:root[data-screen=phone] .certificate-modal-card{width:100%;height:min(calc(var(--viewport-height, 100vh) - 1rem),720px)}:root{--bg: #0d1117;--text: #e6e9ef;--muted: #a8b0bd;--placeholder: rgba(168, 176, 189, .75);--line: #2c323f;--accent: #97a9c8;--link: #7bafd4;--loader-text: #ffffff;--loader-text-shadow: 0 0 1px rgba(255, 255, 255, .35), 0 10px 24px rgba(0, 0, 0, .32);--font-base: "CMU Serif", "TeX Gyre Termes", "Times New Roman", Times, serif;--font-heading: "TeX Gyre Heros", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-loader-arabic: "Amiri Quran", "Amiri", serif;--viewport-height: 100vh;--viewport-width: 100vw;color-scheme:dark}:root[data-theme=light]{--bg: #fff8f0;--text: #1f1c19;--muted: #5e5751;--placeholder: rgba(94, 87, 81, .65);--line: #e3d6c8;--accent: #2d7f86;--link: #1a6faf;--loader-text: #111111;--loader-text-shadow: 0 0 1px rgba(17, 17, 17, .16), 0 10px 24px rgba(82, 61, 39, .18);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{scroll-behavior:smooth;font-size:18px;scrollbar-gutter:stable;overflow-x:auto}body{background:var(--bg);color:var(--text);font-family:var(--font-base);line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease;overflow-x:auto}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:0}::view-transition-new(root){z-index:1}.theme-transition-overlay{position:fixed;left:var(--theme-transition-x);top:var(--theme-transition-y);z-index:0;width:calc(var(--theme-transition-radius) * 2);height:calc(var(--theme-transition-radius) * 2);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(1);transform-origin:center;transition:transform .74s cubic-bezier(.22,1,.36,1);will-change:transform}.theme-transition-overlay.is-active{transform:translate(-50%,-50%) scale(0)}.theme-transition-overlay--dark{background:#0d1117}.theme-transition-overlay--light{background:#fff8f0}.grain-overlay{position:fixed;inset:0;z-index:130;pointer-events:none;background-repeat:repeat;background-size:128px 128px;opacity:.05;transform:translateZ(0);will-change:opacity;transition:opacity .3s ease}:root[data-theme=light] .grain-overlay{mix-blend-mode:multiply;opacity:.06}@media print{.grain-overlay{display:none}}@media(forced-colors:active){.grain-overlay{display:none}}@media(prefers-reduced-motion:reduce){.grain-overlay{transition:none}}body,.side-header,.side-nav,.site-footer{transition:background-color .3s ease,color .3s ease,border-color .3s ease}a{color:inherit;text-decoration:none}button:focus,button:focus-visible,button:active{outline:none;box-shadow:none;-webkit-tap-highlight-color:transparent}button{-webkit-tap-highlight-color:transparent}img{display:block;width:100%;height:auto}h1,h2,h3{font-family:var(--font-heading)}h1,h2,h3,p{margin:0}ul{margin:0;padding:0;list-style:none}
