@import"https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&family=Monsieur+La+Doulaise&display=swap";@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{min-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(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:2px solid var(--line);position:relative;overflow:hidden;isolation:isolate;background:#0d1117}.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:#d2d4d6}.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:focus-visible,.portrait-button:active{outline:none;box-shadow:none}.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;gap:.6rem;direction:ltr;unicode-bidi:isolate}.theme-toggle{border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 85%,transparent);color:var(--muted);font:inherit;font-size:.85rem;border-radius:6px;cursor:pointer;transition:color .2s ease,border-color .2s ease,background-color .2s ease;box-sizing:border-box;direction:ltr;unicode-bidi:isolate}.theme-toggle{position:relative;width:3.3rem;height:1.7rem;border-radius:999px;padding:0;display:inline-flex;align-items:center;justify-content:flex-end;overflow:hidden;color:var(--muted)}.theme-toggle:before{content:"";position:absolute;left:.2rem;top:50%;width:1.2rem;height:1.2rem;border-radius:50%;background:color-mix(in srgb,var(--text) 90%,var(--bg));transform:translateY(-50%);transition:transform .25s ease,background-color .25s ease}.theme-toggle.is-light{justify-content:flex-start}.theme-toggle.is-light:before{transform:translate(1.6rem,-50%)}.theme-icon{position:relative;z-index:1;font-size:.85rem;line-height:1;padding-inline:.45rem;color:var(--muted)}.side-nav{width:100%;padding:0 1.2rem 2.2rem;margin-top:6.5rem;display:grid;gap:.55rem}.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:hover{color:var(--text)}.theme-toggle-link{border:0;background:transparent;padding:0;cursor:pointer;width:100%;justify-content:flex-start;text-align:left;display:none}.nav-dot{width:1.1rem;text-align:center;color:var(--text);font-size:.72em}.content-shell{margin-left:var(--content-offset);padding-inline:var(--content-gutter);min-height:calc(100vh - 70px);padding-top:.4rem}.section-block{padding-block:clamp(3.2rem,5vw,5rem)}.page-pad{min-height:calc(100vh - 90px)}.page-transition{animation:pageFade .45s cubic-bezier(.2,.8,.2,1)}.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-last-updated{font-size:.65rem;color:var(--muted);opacity:.45;letter-spacing:.04em}.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:-.7rem;right:-.55rem;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-image{width:min(82vmin,820px);aspect-ratio:1 / 1;border-radius:50%;position:relative;overflow:hidden;isolation:isolate;background:#0d1117;transform-style:preserve-3d;backface-visibility:hidden}.portrait-scan-ghost,.portrait-scan-band,.portrait-pixel-rain,.portrait-scan-bloom{position:absolute;inset:0;opacity:0;pointer-events:none}.portrait-scan-ghost{background-position:center;background-repeat:no-repeat;background-size:cover;mix-blend-mode:screen;will-change:transform,opacity,filter}.portrait-scan-ghost.portrait-contain{background-size:contain;background-color:#d2d4d6}.portrait-scan-ghost-a{filter:saturate(1.12) contrast(1.1)}.portrait-scan-ghost-b{filter:saturate(1.18) contrast(1.12)}.portrait-scan-band{background:linear-gradient(115deg,#0000,#6de7ff14 34%,#cdf9ffe0 48%,#6de7ff29 58%,#0000 74%),linear-gradient(180deg,#04081057,#0408100f 36%,#04081066),repeating-linear-gradient(180deg,#ffffff0f 0 1px,#fff0 1px 7px);mix-blend-mode:plus-lighter;will-change:opacity,transform,filter}.portrait-scan-bloom{background:radial-gradient(circle at 50% 42%,#8af1ff42,#0000 54%),radial-gradient(circle at 50% 55%,#ffffff24,#0000 70%);mix-blend-mode:screen;will-change:opacity,transform,filter}.portrait-pixel-rain{background:linear-gradient(115deg,#0000,#a5f1ff24 34%,#fffffffa 48%,#6de7ff3d 58%,#0000 74%),repeating-linear-gradient(90deg,#ffffffad 0 4px,#0000 4px 9px),repeating-linear-gradient(180deg,#6de7ff85 0 4px,#0000 4px 10px);mix-blend-mode:screen;will-change:opacity,transform,filter,background-position}.side-portrait{--portrait-sweep-distance: 128%;--portrait-ghost-shift: 7px;--portrait-bloom-strength: .55;--portrait-transition-duration: .46s;--portrait-pixel-drop: 10px}.portrait-modal-image{--portrait-sweep-distance: 136%;--portrait-ghost-shift: 14px;--portrait-bloom-strength: .92;--portrait-transition-duration: .56s;--portrait-pixel-drop: 20px}.side-portrait.is-transitioning{animation:portraitSignalFrame var(--portrait-transition-duration) cubic-bezier(.2,.82,.2,1)}.portrait-modal-image.is-transitioning{animation:portraitSignalFrameModal var(--portrait-transition-duration) cubic-bezier(.2,.82,.2,1)}.side-portrait.is-transitioning .portrait-image,.portrait-modal-image.is-transitioning .portrait-image{animation:portraitSignalImage var(--portrait-transition-duration) cubic-bezier(.2,.82,.2,1)}.side-portrait.is-transitioning .portrait-scan-ghost,.side-portrait.is-transitioning .portrait-scan-band,.side-portrait.is-transitioning .portrait-pixel-rain,.side-portrait.is-transitioning .portrait-scan-bloom,.portrait-modal-image.is-transitioning .portrait-scan-ghost,.portrait-modal-image.is-transitioning .portrait-scan-band,.portrait-modal-image.is-transitioning .portrait-pixel-rain,.portrait-modal-image.is-transitioning .portrait-scan-bloom{opacity:1}.side-portrait.is-transitioning .portrait-scan-ghost-a,.portrait-modal-image.is-transitioning .portrait-scan-ghost-a{animation:portraitSignalGhostA var(--portrait-transition-duration) cubic-bezier(.2,.82,.2,1)}.side-portrait.is-transitioning .portrait-scan-ghost-b,.portrait-modal-image.is-transitioning .portrait-scan-ghost-b{animation:portraitSignalGhostB var(--portrait-transition-duration) cubic-bezier(.2,.82,.2,1)}.side-portrait.is-transitioning .portrait-scan-band,.portrait-modal-image.is-transitioning .portrait-scan-band{animation:portraitSignalBand var(--portrait-transition-duration) cubic-bezier(.2,.82,.2,1)}.side-portrait.is-transitioning .portrait-pixel-rain,.portrait-modal-image.is-transitioning .portrait-pixel-rain{animation:portraitPixelRain var(--portrait-transition-duration) cubic-bezier(.2,.82,.2,1)}.side-portrait.is-transitioning .portrait-scan-bloom,.portrait-modal-image.is-transitioning .portrait-scan-bloom{animation:portraitSignalBloom var(--portrait-transition-duration) cubic-bezier(.2,.82,.2,1)}.side-portrait.is-transitioning .portrait-scan-ghost-a,.side-portrait.is-transitioning .portrait-scan-ghost-b{opacity:.38}.side-portrait.is-transitioning .portrait-scan-bloom{opacity:var(--portrait-bloom-strength)}.side-portrait.is-transitioning .portrait-pixel-rain{opacity:.48;filter:blur(.45px)}.portrait-modal-image.is-transitioning .portrait-scan-ghost-a,.portrait-modal-image.is-transitioning .portrait-scan-ghost-b{opacity:.52}.portrait-modal-image.is-transitioning .portrait-pixel-rain{opacity:.62;filter:blur(.8px)}.portrait-modal-image.is-transitioning .portrait-scan-bloom{opacity:var(--portrait-bloom-strength)}.portrait-modal-image.is-transitioning .portrait-scan-band{filter:blur(1.2px)}.side-portrait.is-transitioning .portrait-scan-band{filter:blur(.65px)}@keyframes portraitSignalFrame{0%{transform:scale(1);filter:brightness(1) saturate(1);box-shadow:inset 0 0 #73e4ff00}18%{transform:scale(.985);filter:brightness(.9) saturate(.92);box-shadow:inset 0 0 0 1px #73e4ff14}50%{transform:scale(.994);filter:brightness(.82) saturate(1.08);box-shadow:inset 0 0 0 1px #daf7ff33,0 0 10px #73e4ff29}74%{transform:scale(1.006);filter:brightness(1.03) saturate(1.04);box-shadow:0 0 8px #73e4ff1f}to{transform:scale(1);filter:brightness(1) saturate(1);box-shadow:inset 0 0 #73e4ff00}}@keyframes portraitSignalFrameModal{0%{transform:scale(1);filter:brightness(1) saturate(1);box-shadow:inset 0 0 #73e4ff00}18%{transform:scale(.988);filter:brightness(.9) saturate(.94);box-shadow:inset 0 0 0 1px #73e4ff1a}50%{transform:scale(.996);filter:brightness(.8) saturate(1.1);box-shadow:inset 0 0 0 1px #daf7ff3d,0 0 26px #73e4ff2e}76%{transform:scale(1.004);filter:brightness(1.03) saturate(1.04);box-shadow:0 0 18px #73e4ff1f}to{transform:scale(1);filter:brightness(1) saturate(1);box-shadow:inset 0 0 #73e4ff00}}@keyframes portraitSignalImage{0%{transform:translateZ(0) scale(1);filter:brightness(1) contrast(1) saturate(1)}18%{transform:translateZ(0) scale(1.022);filter:brightness(.94) contrast(1.02) saturate(.96)}38%{transform:translate3d(calc(var(--portrait-ghost-shift) * -.28),0,0) scale(1.03);filter:brightness(.88) contrast(1.08) saturate(1.08)}52%{transform:translate3d(calc(var(--portrait-ghost-shift) * .18),0,0) scale(1.014);filter:brightness(1.06) contrast(1.12) saturate(1.1)}74%{transform:translateZ(0) scale(1.006);filter:brightness(1.02) contrast(1.02) saturate(1.03)}to{transform:translateZ(0) scale(1);filter:brightness(1) contrast(1) saturate(1)}}@keyframes portraitSignalGhostA{0%,to{opacity:0;transform:translateZ(0) scale(1);filter:hue-rotate(0deg) saturate(1)}28%{opacity:.18;transform:translate3d(calc(var(--portrait-ghost-shift) * -.55),0,0) scale(1.016);filter:hue-rotate(-18deg) saturate(1.34)}48%{opacity:.36;transform:translate3d(calc(var(--portrait-ghost-shift) * -1),0,0) scale(1.02);filter:hue-rotate(-26deg) saturate(1.44) brightness(1.08)}68%{opacity:.12;transform:translate3d(calc(var(--portrait-ghost-shift) * -.28),0,0) scale(1.008);filter:hue-rotate(-8deg) saturate(1.14)}}@keyframes portraitSignalGhostB{0%,to{opacity:0;transform:translateZ(0) scale(1);filter:hue-rotate(0deg) saturate(1)}26%{opacity:.14;transform:translate3d(calc(var(--portrait-ghost-shift) * .42),0,0) scale(1.014);filter:hue-rotate(20deg) saturate(1.28)}50%{opacity:.3;transform:translate3d(calc(var(--portrait-ghost-shift) * .86),0,0) scale(1.018);filter:hue-rotate(32deg) saturate(1.4) brightness(1.06)}70%{opacity:.1;transform:translate3d(calc(var(--portrait-ghost-shift) * .24),0,0) scale(1.006);filter:hue-rotate(10deg) saturate(1.1)}}@keyframes portraitSignalBand{0%{opacity:0;transform:translate3d(calc(var(--portrait-sweep-distance) * -1),0,0) skew(-14deg)}18%{opacity:.18}44%{opacity:.96;transform:translate3d(calc(var(--portrait-sweep-distance) * -.08),0,0) skew(-14deg)}56%{opacity:.92;transform:translate3d(calc(var(--portrait-sweep-distance) * .12),0,0) skew(-14deg)}86%{opacity:.08;transform:translate3d(var(--portrait-sweep-distance),0,0) skew(-14deg)}to{opacity:0;transform:translate3d(var(--portrait-sweep-distance),0,0) skew(-14deg)}}@keyframes portraitSignalBloom{0%,to{opacity:0;transform:scale(.98);filter:blur(0px)}28%{opacity:calc(var(--portrait-bloom-strength) * .48);transform:scale(1.012);filter:blur(6px)}50%{opacity:var(--portrait-bloom-strength);transform:scale(1.032);filter:blur(10px)}76%{opacity:calc(var(--portrait-bloom-strength) * .22);transform:scale(1.014);filter:blur(4px)}}@keyframes portraitPixelRain{0%{opacity:0;transform:translate3d(calc(var(--portrait-sweep-distance) * -1),0,0) skew(-14deg);background-position:0 0,0 0,0 0;filter:blur(0px)}24%{opacity:0;transform:translate3d(calc(var(--portrait-sweep-distance) * -.62),0,0) skew(-14deg);background-position:0 0,0 0,0 0}42%{opacity:.3;transform:translate3d(calc(var(--portrait-sweep-distance) * -.12),0,0) skew(-14deg);background-position:0 0,0 0,0 0;filter:blur(.15px)}50%{opacity:.9;transform:translate3d(0,calc(var(--portrait-pixel-drop) * .18),0) skew(-14deg);background-position:0 0,calc(var(--portrait-ghost-shift) * .3) calc(var(--portrait-pixel-drop) * .28),calc(var(--portrait-ghost-shift) * -.24) calc(var(--portrait-pixel-drop) * -.12);filter:blur(.55px)}58%{opacity:.8;transform:translate3d(calc(var(--portrait-sweep-distance) * .18),var(--portrait-pixel-drop),0) skew(-14deg);background-position:0 0,calc(var(--portrait-ghost-shift) * .52) calc(var(--portrait-pixel-drop) * 1),calc(var(--portrait-ghost-shift) * -.42) calc(var(--portrait-pixel-drop) * .56);filter:blur(.75px)}72%{opacity:.18;transform:translate3d(calc(var(--portrait-sweep-distance) * .64),calc(var(--portrait-pixel-drop) * .24),0) skew(-14deg);background-position:0 0,calc(var(--portrait-ghost-shift) * .2) calc(var(--portrait-pixel-drop) * .26),calc(var(--portrait-ghost-shift) * -.14) calc(var(--portrait-pixel-drop) * .12);filter:blur(.2px)}to{opacity:0;transform:translate3d(var(--portrait-sweep-distance),0,0) skew(-14deg);background-position:0 0,0 0,0 0;filter:blur(0px)}}@media(prefers-reduced-motion:reduce){.side-portrait.is-transitioning,.portrait-modal-image.is-transitioning,.side-portrait.is-transitioning .portrait-image,.portrait-modal-image.is-transitioning .portrait-image,.side-portrait.is-transitioning .portrait-scan-ghost,.portrait-modal-image.is-transitioning .portrait-scan-ghost,.side-portrait.is-transitioning .portrait-scan-band,.portrait-modal-image.is-transitioning .portrait-scan-band,.side-portrait.is-transitioning .portrait-pixel-rain,.portrait-modal-image.is-transitioning .portrait-pixel-rain,.side-portrait.is-transitioning .portrait-scan-bloom,.portrait-modal-image.is-transitioning .portrait-scan-bloom{animation:none}.side-portrait.is-transitioning .portrait-image,.portrait-modal-image.is-transitioning .portrait-image{opacity:.96;transition:opacity .12s linear}.side-portrait.is-transitioning .portrait-scan-ghost,.portrait-modal-image.is-transitioning .portrait-scan-ghost,.side-portrait.is-transitioning .portrait-scan-band,.portrait-modal-image.is-transitioning .portrait-scan-band,.side-portrait.is-transitioning .portrait-pixel-rain,.portrait-modal-image.is-transitioning .portrait-pixel-rain,.side-portrait.is-transitioning .portrait-scan-bloom,.portrait-modal-image.is-transitioning .portrait-scan-bloom{opacity:0}}@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)}}@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:5.25rem}}@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)}.side-header-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%}.side-controls{display:none}.theme-toggle{font-size:.78rem}.side-portrait{width:54px;height:54px;margin-bottom:0;margin-inline-start:0}.portrait-button{grid-column:2;justify-self:center}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;grid-column:3;justify-self:end}.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}.theme-toggle-link{display:inline-flex;justify-content:center}.nav-dot{position:absolute;left:-1.2rem;width:0}.theme-toggle-link .nav-dot{display:none}.content-shell,.site-footer{margin-left:0;margin-right:0}.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}}.section-title{max-width:68ch;margin-bottom:clamp(2.4rem,4vw,3.2rem)}.section-title h2{font-size:clamp(1.35rem,2.1vw,2rem);line-height:1.25;margin-bottom:.8rem}.section-title p{color:var(--muted)}.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-text{color:var(--loader-text);font-size:clamp(2.35rem,5.4vw,4.15rem);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){.loading-scramble-text{font-size:clamp(2rem,11.5vw,2.85rem);max-width:88vw}}@keyframes loaderCalligraphySettle{0%{opacity:.86;transform:translateY(4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.scroll-section .section-title{text-align:center;margin-inline:auto}.scroll-section{scroll-margin-top:1.5rem}.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)}.about-prose.bio-prose{padding-top:0}.pong-section{min-height:auto;padding-block:clamp(2.2rem,4vw,3.2rem) 0}.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;justify-content:center;gap:.8rem}.pong-mobile-button{width:2.8rem;height:2.8rem;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--text);font:inherit;font-size:1.05rem;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}.about-prose p+p{margin-top:clamp(.95rem,1.5vw,1.5rem)}.about-greeting{color:var(--text);font-weight:500;margin-bottom:.2rem}.about-signature{font-family:Monsieur La Doulaise,cursive;font-size:1.6em;color:var(--muted);line-height:1.2}.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-row-link:hover{background:transparent;border-color:transparent;box-shadow:none}.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(--text);font-size:clamp(1rem,1.25vw,1.12rem);font-weight:500;line-height:1.2;text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:transparent;text-decoration-thickness:1.5px;text-underline-offset:.2em;transition:text-decoration-color .2s ease}.project-row-link:hover .project-name,.project-row-link:focus-visible .project-name{text-decoration-color:var(--accent)}.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{color:var(--text);font-size:clamp(1rem,1.25vw,1.12rem);font-weight:500;line-height:1.2;text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:transparent;text-decoration-thickness:1.5px;text-underline-offset:.2em;transition:text-decoration-color .2s ease}.certification-name-link{width:fit-content}.research-row-link:hover .research-name,.research-row-link:focus-visible .research-name,.certification-row-link:hover .certification-name,.certification-row-link:focus-visible .certification-name{text-decoration-color:var(--accent)}.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:#080b106b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.certificate-modal-card{width:min(960px,100%);height:min(88vh,980px);display:grid;grid-template-rows:auto minmax(0,1fr);gap:.8rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 92%,transparent)}.certificate-modal-close{justify-self:end;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:999px;padding:.45rem .85rem;cursor:pointer}.certificate-modal-frame{width:100%;height:100%;border:0;border-radius:10px;background:#fff}.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(--text);font-size:clamp(1.02rem,1.2vw,1.25rem);line-height:1.35;text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:transparent;text-decoration-thickness:1.5px;text-underline-offset:.2em;transition:text-decoration-color .2s ease}.social-link:hover,.social-link:focus-visible{text-decoration-color:var(--accent)}.social-text{display:inline-block}.social-icon{width:1.15rem;height:1.15rem;display:inline-grid;place-items:center;color:var(--muted);flex-shrink:0}.social-icon svg{width:100%;height:100%;display:block}.social-section{display:grid;align-content:center}@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{width:min(100%,680px)}.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);padding:.75rem}.pong-mobile-button{width:2.5rem;height:2.5rem;font-size:.95rem}.pong-toggle{font-size:.92rem}.pong-instructions{font-size:.84rem}}@media(max-width:420px){.about-prose{font-size:clamp(.9rem,4vw,1rem);padding-top:clamp(.5rem,3vh,1.2rem)}.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{gap:.65rem}.pong-mobile-button{width:2.35rem;height:2.35rem;font-size:.9rem}}:root{--bg: #0f1115;--surface: #0f1115;--surface-alt: #0f1115;--text: #e6e9ef;--muted: #a8b0bd;--line: #2c323f;--accent: #97a9c8;--loader-text: #ffffff;--loader-text-shadow: 0 0 1px rgba(255, 255, 255, .35), 0 10px 24px rgba(0, 0, 0, .32);--container: min(1120px, 92vw);--shadow: 0 12px 38px rgba(0, 0, 0, .28);--font-base: "Lato", "Segoe UI", sans-serif;--font-loader-arabic: "Amiri Quran", "Amiri", serif;color-scheme:dark}:root[data-theme=light]{--bg: #fff8f0;--surface: #fff1e6;--surface-alt: #f7eadd;--text: #1f1c19;--muted: #5e5751;--line: #e3d6c8;--accent: #2d7f86;--loader-text: #111111;--loader-text-shadow: 0 0 1px rgba(17, 17, 17, .16), 0 10px 24px rgba(82, 61, 39, .18);--shadow: 0 12px 38px rgba(44, 36, 28, .12);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}html{scroll-behavior:smooth;font-size:18px}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}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}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}ul{margin:0;padding:0;list-style:none}
