@font-face{font-family:Fraunces;src:url(/fonts/fraunces-editorial-fixed.woff2) format("woff2");font-style:italic;font-weight:200;font-display:swap}@font-face{font-family:Fraunces Fallback;src:local("Georgia Italic");font-style:italic;font-weight:200;size-adjust:97.62%;ascent-override:100.18%;descent-override:26.12%;line-gap-override:0%}@font-face{font-family:Switzer;src:url(/fonts/switzer-regular.woff2) format("woff2");font-style:normal;font-weight:400;font-display:optional}@font-face{font-family:Switzer Fallback;src:local("Arial");font-style:normal;font-weight:400 500;size-adjust:102.4%;ascent-override:95.7%;descent-override:24.41%;line-gap-override:8.79%}@font-face{font-family:Switzer;src:url(/fonts/switzer-medium.woff2) format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:TeX Gyre Heros;src:url(/fonts/tex-gyre-heros-hello.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:TeX Gyre Heros Fallback;src:local("Arial");font-style:normal;font-weight:400;size-adjust:101.05%;ascent-override:77.59%;descent-override:21.38%;line-gap-override:19.79%}@font-face{font-family:Space Grotesk;src:url(/fonts/space-grotesk-650.woff2) format("woff2");font-style:normal;font-weight:650;font-display:swap;size-adjust:97%}@font-face{font-family:Space Grotesk Fallback;src:local("Arial");font-style:normal;font-weight:650;size-adjust:102.4%;ascent-override:95.7%;descent-override:24.41%;line-gap-override:8.79%}@font-face{font-family:Amiri Quran;font-style:normal;font-display:block;font-weight:400;src:url(/fonts/amiri-quran-arabic-400.woff2) format("woff2");unicode-range:U+0600-06FF,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}.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(var(--container-max),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:calc(var(--viewport-height, 100vh) - var(--sidebar-top-offset));max-height:calc(100dvh - var(--sidebar-top-offset));background:transparent;border-right:0;z-index:30;display:flex;flex-direction:column;justify-content:flex-start;padding-top:1.3rem;padding-bottom:1rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.side-header::-webkit-scrollbar{display:none}.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;position:relative;overflow:hidden;isolation:isolate;background:var(--media-frame);transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s ease}@media(hover:hover)and (pointer:fine){.side-portrait:hover{transform:scale(1.02) rotate(-1deg);box-shadow:0 6px 14px #00000014}}.portrait-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.portrait-image.portrait-contain{object-fit:contain;background-color:var(--media-frame)}.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:2px solid var(--accent);outline-offset:4px;border-radius:50%}.menu-toggle{display:none;border:0;background:transparent;color:var(--icon);padding:0;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;transition:color .2s ease}.menu-toggle:hover{color:var(--icon-interactive)}.menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.menu-toggle:focus:not(: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:2px solid var(--accent);outline-offset:3px}.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(--icon);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(--icon-interactive)}.music-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.music-toggle.is-playing{color:var(--icon-interactive)}.fairuz-button-image{width:1.7rem;height:1.7rem;object-fit:contain;flex-shrink:0;display:block;pointer-events:none}.side-nav{position:fixed;top:calc(50% + 1.25rem);left:calc(var(--sidebar-offset) - .75rem);width:var(--sidebar-width);max-height:calc(100dvh - 2rem);padding:0 1.2rem;margin:0;display:grid;gap:.55rem;overflow-y:auto;scrollbar-width:none;transform:translateY(-50%)}.side-nav::-webkit-scrollbar{display:none}.side-link-group{display:contents}.side-link{position:relative;display:inline-flex;align-items:center;padding-inline-start:.75rem;font-size:clamp(1.2rem,1.5vw,1.6rem);color:var(--text);font-weight:400;letter-spacing:-.015em;line-height:1.25;opacity:.75;transition:color .2s ease,opacity .2s ease}.side-link:before{content:"·";position:absolute;inset-inline-start:0;opacity:0;transform:translate(-.2rem);transition:opacity .2s ease,transform .2s ease}.side-link.is-active{color:var(--text);font-weight:500;opacity:1}.side-link.is-active:before{opacity:1;transform:translate(0)}.side-link:hover{color:var(--text);font-weight:500;opacity:1}@media(prefers-reduced-motion:reduce){.side-link,.side-link:before{transition: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(4rem,6vw,7rem);min-width:0;content-visibility:auto;contain-intrinsic-block-size:auto var(--section-intrinsic-size, 800px)}.compact-leading-controls{display:contents}.social-profiles{position:fixed;left:var(--sidebar-offset);bottom:max(1.25rem,env(safe-area-inset-bottom));width:var(--sidebar-width);padding-inline-start:.9rem;display:flex;align-items:center;justify-content:flex-start;gap:.3rem;box-sizing:border-box}.social-profile-link{width:1.85rem;height:1.85rem;display:inline-grid;place-items:center;color:var(--icon-interactive);border-radius:999px;flex-shrink:0}.social-profile-icon{width:1.05rem;height:1.05rem;display:inline-grid;place-items:center;overflow:visible;transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .2s ease}.social-profile-icon svg{width:100%;height:100%;display:block}@media(hover:hover)and (pointer:fine){.social-profile-link:hover{color:var(--icon-interactive)}.social-profile-link:hover .social-profile-icon{transform:scale(1.15) rotate(4deg)}}@media(prefers-reduced-motion:reduce){.social-profile-icon{transition:color .2s ease}}@media(max-width:700px){.section-block{contain-intrinsic-block-size:auto var( --section-intrinsic-size-compact, var(--section-intrinsic-size, 800px) )}}.page-pad{min-height:max(34rem,calc(var(--viewport-height, 100vh) - 90px))}.page-transition{position:relative;z-index: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}.portrait-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;perspective:1400px}.portrait-modal-body{display:flex;flex-direction:column;align-items:center;gap:1.2rem;transform-style:preserve-3d;max-height:calc(100vh - 4rem);max-height:calc(100dvh - 4rem)}.portrait-modal-body .portrait-modal-image{flex-shrink:1;min-height:0}.portrait-modal-image{width:min(82vmin,820px);aspect-ratio:1 / 1;border-radius:50%;position:relative;overflow:hidden;isolation:isolate;background:var(--media-frame);transform-style:preserve-3d;backface-visibility:hidden}@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=tablet] .site-shell{--content-gutter: clamp(1rem, 2.8vw, 1.6rem)}:root[data-screen=tablet] .page-pad{min-height:auto}@media(min-width:1101px)and (max-height:900px){.site-shell{--sidebar-top-offset: clamp(1.45rem, 2.4vw, 2.2rem)}.side-header{padding-top:.5rem}.side-nav{gap:.3rem}}@media(min-width:1101px)and (max-height:760px){.side-portrait{width:88px;height:88px;margin-bottom:.65rem;margin-inline-start:2rem}.side-nav{gap:.28rem}.side-link{font-size:1.05rem}}@media(max-width:1100px){.site-shell{--content-offset: 0px;--content-gutter: clamp(.8rem, 3vw, 1.2rem)}.side-header{position:sticky;top:0;width:100%;height:auto;max-height:none;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:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-bottom:.5rem;overflow-y:visible;overscroll-behavior:auto;transition:transform .32s ease,opacity .28s ease,background-color .3s ease,color .3s ease,border-color .3s ease}.side-header.is-header-hidden{transform:translateY(-100%);opacity:0;pointer-events:none}.side-header-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%}.compact-leading-controls{display:inline-flex;grid-column:1;grid-row:1;justify-self:start;align-items:center;gap:.25rem}.social-profiles{display:none}.side-header.is-menu-open .social-profiles{display:flex;position:static;width:100%;flex-shrink:0;justify-content:center;align-items:center;gap:1.25rem;margin-top:.25rem;padding:.9rem 0 max(.75rem,env(safe-area-inset-bottom))}.social-profile-link{width:2.5rem;height:2.5rem}.social-profile-icon{width:1.1rem;height:1.1rem}.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;min-width:2.5rem;min-height:2.5rem}.side-header.is-menu-open{position:fixed;inset:0;height:100dvh;max-height:none;z-index:200;display:flex;flex-direction:column;background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none;animation:mobile-menu-fade-in .22s ease both}.side-nav{position:static;top:auto;left:auto;width:100%;max-height:none;display:none;gap:.7rem;padding:.75rem .5rem 1rem;margin-top:0;overflow-y:visible;transform:none;background:var(--bg);text-align:center}.side-nav.is-open{display:flex;flex-direction:column;justify-content:safe center;align-items:center;flex:1 1 auto;min-height:0;gap:.35rem;padding:.75rem 1rem max(1rem,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}@keyframes mobile-menu-fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.side-header.is-menu-open{animation:none}}.side-link{font-size:1.12rem;justify-content:center;position:relative;min-height:2rem;padding-inline:.5rem}.side-link:before{content:none}.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}}@media(max-width:1100px)and (max-height:520px){.side-header{padding-top:max(.4rem,env(safe-area-inset-top));padding-bottom:.35rem}.side-portrait{width:40px;height:40px}.music-toggle,.theme-toggle,.menu-toggle{width:2.2rem;height:2.2rem;min-width:2.2rem;min-height:2.2rem}}:root[data-screen=phone] .page-pad{min-height:auto}:root[data-screen=phone][data-orientation=landscape] .page-pad{padding-block:2rem}.section-title{display:grid;gap:.35rem;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:var(--lh-tight)}.section-subtitle{color:var(--muted);font-weight:400;font-size:clamp(.72rem,.95vw,.85rem)}.intro-overlay{display:none}html.intro-pending .intro-overlay{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);cursor:pointer;pointer-events:auto;animation:introOverlayOut .36s ease 2.64s forwards}html.intro-pending.intro-skipping .intro-overlay{animation:introOverlayOut .22s ease forwards}@keyframes introOverlayOut{to{opacity:0;visibility:hidden}}.intro-inner{display:flex;flex-direction:column;align-items:center;gap:.15rem;max-width:100%}.intro-logo{width:clamp(120px,22vw,210px);aspect-ratio:660 / 549;max-height:30vh;background-repeat:no-repeat;background-position:center;background-size:contain;position:relative;z-index:1;opacity:.9}html.intro-pending[data-theme=dark] .intro-logo{background-image:image-set(url(/assets/generated/horseD-210.webp) 1x,url(/assets/generated/horseD-420.webp) 2x)}html.intro-pending[data-theme=light] .intro-logo{background-image:image-set(url(/assets/generated/horseL-210.webp) 1x,url(/assets/generated/horseL-420.webp) 2x)}.intro-name{color:var(--loader-text);font-size:clamp(1.7rem,3.8vw,3rem);font-family:var(--font-loader-arabic);font-weight:400;letter-spacing:normal;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);position:relative;z-index:0;opacity:0;margin-top:-.25rem;transform:translateY(5px) scale(.99);will-change:opacity,transform;animation:introNameReveal 2.64s cubic-bezier(.25,1,.5,1) forwards}@media(max-width:768px){.section-title{margin-bottom:1.8rem}.section-title h2{font-size:clamp(1.3rem,6vw,1.8rem)}.intro-logo{width:clamp(100px,30vw,150px)}.intro-name{font-size:clamp(1.4rem,8vw,2rem);max-width:88vw}}@media(max-width:360px){.intro-logo{width:clamp(90px,26vw,120px)}.intro-name{font-size:clamp(1.3rem,9vw,1.8rem)}}@keyframes introNameReveal{0%{opacity:0;transform:translateY(5px) scale(.99)}16%,72%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-2px) scale(.985)}}@media(prefers-reduced-motion:reduce){.intro-logo,.intro-name{animation:none;opacity:1;filter:none;transform:none}}.word-reveal-clip{display:inline-block;vertical-align:top}.word-reveal{display:inline-block;animation:word-rise .72s cubic-bezier(.22,1,.36,1) both}@keyframes word-rise{0%{clip-path:inset(100% -.08em -.2em -.08em);transform:translateY(105%)}to{clip-path:inset(-.08em -.08em -.2em -.08em);transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.word-reveal{animation:none!important;transform:none!important}}.modal-close-button{position:absolute;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-sm);padding:0;background:#000000eb;color:#fff;font-family:Arial,sans-serif;font-size:1.4rem;font-weight:400;line-height:1;cursor:pointer;transition:background-color .16s ease}@media(hover:hover)and (pointer:fine){.modal-close-button:hover{background:#000}}.modal-close-button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.media-lightbox-backdrop{background:#05080ceb}.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}}.education-list{width:min(100%,820px);margin-inline:auto;display:grid;gap:0}.education-entry{position:relative;display:grid;grid-template-columns:4rem minmax(0,1fr);align-items:start;gap:1.1rem;padding-block:1.25rem;text-wrap:pretty}.education-entry.is-linked{cursor:pointer}.education-entry-link{position:absolute;inset:0;z-index:1;border-radius:var(--radius-sm)}.education-logo-frame{display:block;width:4rem}.education-entry-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.education-title-text{color:var(--text);transition:color .2s cubic-bezier(.16,1,.3,1)}@media(hover:hover){.education-entry.is-linked:hover .education-title-text{color:var(--accent)}}.education-cta-arrow{display:inline-block;font-size:.85em;line-height:1}.content-media--logo{width:4rem;aspect-ratio:1}.content-media.content-media--logo{background:#fff}.content-media--logo .content-media-image{position:absolute;inset:14%;width:72%;height:72%}.content-media--logo .content-media-placeholder{font-size:.62rem}.content-media--logo .content-media-placeholder span{padding:.18rem .28rem}.education-entry-content{min-width:0;display:grid;gap:.35rem}.education-entry-header,.education-entry-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.75rem 1.5rem}.education-entry-header h3{color:var(--text);font-size:clamp(1.12rem,1.45vw,1.3rem);font-style:italic;font-weight:700;line-height:var(--lh-tight)}.education-entry-header time,.education-entry-meta span{color:var(--muted);font-size:clamp(.78rem,1vw,.88rem);line-height:1.4;text-align:right;white-space:nowrap}.education-entry-meta p{color:var(--muted);font-size:clamp(.88rem,1.1vw,.98rem);font-style:italic;line-height:1.4}@media(max-width:560px){.education-entry{grid-template-columns:3rem minmax(0,1fr);gap:.8rem;padding-block:1rem}.content-media--logo,.education-logo-frame{width:3rem}.education-entry-header,.education-entry-meta{grid-template-columns:1fr;gap:.18rem}.education-entry-header time,.education-entry-meta span{text-align:left}}@media(prefers-reduced-motion:reduce){.education-title-text{transition:none}}.about-prose,.about-normal{display:grid;gap:clamp(.95rem,1.5vw,1.5rem)}.about-prose{width:min(100%,760px);margin-inline:auto;color:var(--body);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);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.16em}.about-prose.bio-prose{gap:.75rem;padding-top:0}.about-prose.bio-prose p{text-indent:2em}.pong-section{padding-block:clamp(3.2rem,5vw,5rem)}.deferred-mount{width:100%}.deferred-pong{min-height:clamp(260px,55vw,460px)}.deferred-chat{min-height:24rem}.deferred-mount-fallback{min-height:inherit}.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-field:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@keyframes pongShake{0%{transform:translate(0) rotate(0)}25%{transform:translate(-3px,2px) rotate(-.5deg)}50%{transform:translate(3px,-2px) rotate(.5deg)}75%{transform:translate(-2px,-2px) rotate(-.25deg)}to{transform:translate(0) rotate(0)}}@media(prefers-reduced-motion:no-preference){.pong-shake{animation:pongShake .15s cubic-bezier(.36,.07,.19,.97) both}}.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%}.is-god-mode .pong-ball{background:#f97316;box-shadow:0 0 10px 4px #f9731699,0 0 20px 8px #f973164d;transition:background .3s ease,box-shadow .3s ease}.pong-instructions{color:var(--muted);font-size:.9rem;line-height:1.45;text-align:center}.about-greeting{color:var(--text);font-family:TeX Gyre Heros,TeX Gyre Heros Fallback,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:clamp(1rem,1.15vw,1.45rem);font-style:normal;font-weight:400;font-variation-settings:normal;margin-bottom:.5rem}.about-signature{position:relative;display:block;width:114px;height:34px;margin-top:.5rem;overflow:hidden;background-image:url(/assets/sign.svg);background-repeat:no-repeat;background-size:255px auto;background-position:-71px -54px;opacity:.72;filter:invert(1)}:root[data-theme=light] .about-signature{filter:none}.content-media{position:relative;z-index:0;width:100%;overflow:hidden;background:var(--media-frame)}.content-media-image{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover}.content-media.is-contain .content-media-image{object-fit:contain}.content-media-placeholder{position:absolute;z-index:0;inset:0;display:grid;place-items:center;background-color:var(--media-frame);background-image:repeating-linear-gradient(135deg,transparent,transparent 8px,var(--line) 8px,var(--line) 9px);color:var(--muted);font-size:.72rem;letter-spacing:normal}.content-media-placeholder span{padding:.25rem .4rem;border:1px solid var(--line);border-radius:.25rem;background:var(--media-frame)}.editorial-list-shell{width:100%}.editorial-list{width:100%;display:flex;flex-direction:column}.editorial-item{position:relative;display:grid;grid-template-columns:clamp(120px,20%,190px) minmax(0,1fr);align-items:start;gap:clamp(1rem,2vw,1.5rem);padding-block:clamp(2rem,3.5vw,2.5rem);border-bottom:1px solid var(--line)}.editorial-item.is-linked{cursor:pointer}.editorial-list>[role=listitem]:first-child .editorial-item{padding-top:0}.editorial-item-link{position:absolute;inset:0;z-index:1;border-radius:var(--radius-sm)}.editorial-item-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.content-media--editorial{aspect-ratio:3 / 2;overflow:visible;background:transparent}.content-media--editorial:has(.content-media-image) .content-media-placeholder,.content-media--logo:has(.content-media-image) .content-media-placeholder,.content-media--hero:has(.content-media-image) .content-media-placeholder{display:none}.content-media--editorial.is-contain{background:#fff}.content-media--editorial.is-contain .content-media-image{position:absolute;inset:14%;width:72%;height:72%}.editorial-item:not([data-content-type=experience]):not([data-content-type=certification]) .content-media-image{box-shadow:var(--media-inner-line)}.editorial-item[data-content-type=certification] .content-media-image{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);box-shadow:var(--document-shadow)}.editorial-item-body{display:flex;flex-direction:column;gap:.3rem;min-width:0}.editorial-item-title{color:var(--heading);font-family:var(--font-base);font-size:clamp(1.12rem,1rem + .4vw,1.35rem);font-style:normal;font-weight:500;line-height:var(--lh-tight);overflow-wrap:break-word;transition:color .2s cubic-bezier(.16,1,.3,1)}@media(hover:hover)and (pointer:fine){.editorial-item.is-linked:hover .editorial-item-title{color:var(--accent);text-decoration:underline;text-underline-offset:.18em}}.editorial-item-meta{color:var(--muted);font-size:clamp(.8rem,.75rem + .15vw,.9rem);line-height:var(--lh-ui)}.editorial-item-summary{max-width:58ch;margin-top:.1rem;color:var(--body);font-size:clamp(.92rem,.88rem + .15vw,1rem);line-height:1.45}.editorial-item-tags{color:var(--muted);font-size:.78rem;line-height:var(--lh-ui)}.editorial-item-links{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:.2rem .9rem}.editorial-item-links a{display:inline-flex;align-items:center;min-height:1.35rem;color:var(--link);font-size:.78rem;line-height:var(--lh-ui);transition:color .2s cubic-bezier(.16,1,.3,1)}@media(max-width:1100px),(pointer:coarse){.editorial-item-links a{min-height:2.75rem}}@media(hover:hover)and (pointer:fine){.editorial-item-links a:hover{color:var(--accent)}}.editorial-item-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:.15rem}@media(max-width:700px){.editorial-item{grid-template-columns:minmax(0,1fr);gap:1.25rem}.content-media--editorial{aspect-ratio:16 / 9;max-width:100%}}@media(prefers-reduced-motion:reduce){.editorial-item-title,.editorial-item-links a{transition:none}}.certificate-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:clamp(.75rem,2.5vw,2rem);background:var(--bg)}.certificate-modal-card{width:min(1120px,100%);height:min(860px,calc(var(--viewport-height, 100dvh) - clamp(1.5rem,5vw,4rem)));min-height:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--surface-border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--surface-shadow)}.certificate-modal-header{min-height:3.4rem;padding:.6rem .7rem .6rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);flex:0 0 auto}.certificate-modal-heading{min-width:0}.certificate-modal-title{display:block;overflow:hidden;color:var(--text);font-size:.95rem;font-weight:400;letter-spacing:normal;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.certificate-modal-actions{display:flex;align-items:center;gap:.4rem;flex:0 0 auto}.certificate-modal-action{min-height:2.1rem;padding:.42rem .65rem;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:.35rem;background:transparent;color:var(--text);font:inherit;font-size:.76rem;letter-spacing:normal;line-height:1;cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.certificate-modal-action:hover{background:color-mix(in srgb,var(--text) 7%,transparent)}.certificate-modal-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.certificate-modal-frame{width:100%;min-height:0;flex:1 1 auto;border:0;background:#fff}.chat-shell{width:min(100%,760px);margin-inline:auto;display:grid;grid-template-rows:minmax(18rem,1fr) auto;gap:.9rem}.easter-egg-hacker .chat-log,.easter-egg-hacker .chat-bubble,.easter-egg-hacker .chat-input{font-family:monospace,Courier New,Courier;color:#4da3ff!important;background:#000!important;border-color:#4da3ff!important}.easter-egg-hacker .chat-bubble{animation:hacker-flash .15s ease-in-out 3}@keyframes hacker-flash{0%,to{background:#000}50%{background:red;color:#fff}}.easter-egg-hacker .chat-role{color:#2f80ed}.chat-clear{padding:0;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.68rem;cursor:pointer}.chat-clear:hover{color:var(--text)}.chat-clear:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chat-log{min-height:18rem;max-height:min(32rem,58vh);overflow-y:auto;overscroll-behavior:auto;padding:.75rem .65rem .75rem 0;display:grid;align-content:start;gap:1rem;scrollbar-gutter:stable}.chat-empty{max-width:48ch;padding-block:.75rem;color:var(--muted);font-size:clamp(.92rem,1vw,1rem);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:.68rem;letter-spacing:normal}.chat-bubble{max-width:min(82%,36rem);min-width:0;margin:0;padding:.65rem .8rem;border:1px solid var(--surface-border);border-radius:var(--radius-md);box-sizing:border-box;background:var(--surface);color:var(--body);font-size:clamp(.88rem,1vw,.96rem);line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.chat-entry-user .chat-bubble{max-width:min(74%,32rem)}.chat-bubble-pending{min-height:1.6rem;display:inline-flex;align-items:center;gap:.28rem}.chat-bubble-pending span{width:.3rem;height:.3rem;border-radius:50%;background:var(--muted);animation:chatDot 1.2s ease-in-out infinite}.chat-bubble-pending span:nth-child(2){animation-delay:.12s}.chat-bubble-pending span:nth-child(3){animation-delay:.24s}@keyframes chatDot{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.chat-bubble-pending span{animation:none;opacity:.65}}.chat-form{display:grid;gap:.45rem}.chat-input-wrap{position:relative}.chat-input{display:block;width:100%;height:3.1rem;min-height:3.1rem;max-height:10rem;resize:none;overflow-y:auto;border:1px solid var(--input-border);border-radius:var(--radius-md);background:var(--input-bg);color:var(--body);font:inherit;font-size:.9rem;line-height:1.45;padding:.83rem 3.2rem .72rem .85rem;outline:none;box-sizing:border-box}.chat-input::placeholder{color:var(--placeholder)}.chat-input:focus-visible{outline:none;border-color:var(--input-focus-border);box-shadow:var(--input-focus-shadow)}.chat-input:disabled{opacity:.72}.chat-hint{color:var(--muted);font-size:.68rem}.chat-form-meta{min-height:1rem;padding-inline:.15rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.chat-form-meta-actions{display:inline-flex;align-items:center;gap:.75rem;flex:0 0 auto;margin-left:auto}.chat-count{color:var(--muted);font-size:.68rem;flex:0 0 auto}.chat-submit{position:absolute;top:50%;right:.35rem;width:2.4rem;height:2.4rem;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-text);cursor:pointer;transform:translateY(-50%);transition:opacity .2s ease,background-color .2s ease}.chat-submit svg{width:1rem;height:1rem;display:block}.chat-submit:hover:not(:disabled){background:var(--accent-hover)}.chat-submit:active:not(:disabled){background:var(--accent-active)}.chat-submit:focus-visible{outline:2px solid var(--accent-text);outline-offset:-4px}.chat-submit:disabled{cursor:default;opacity:.35}.chat-error{padding:.55rem .65rem;border-left:2px solid #c75a5a;background:color-mix(in srgb,#c75a5a 8%,transparent);color:#c75a5a;font-size:.75rem;line-height:1.45}:root[data-screen=wide] .about-prose,: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] .chat-shell,:root[data-screen=tablet] .pong-shell{width:min(100%,720px)}@media(max-width:959px){.about-prose{width:min(100%,680px);font-size:clamp(.95rem,4.2vw,1.2rem);line-height:1.55;padding-top:clamp(.75rem,4vh,2rem)}.pong-shell,.chat-shell{width:min(100%,680px)}.certificate-modal{padding:.75rem}.certificate-modal-card{height:calc(var(--viewport-height, 100dvh) - 1.5rem);border-radius:.7rem}.certificate-modal-header{min-height:3.25rem}.certificate-modal-action{min-height:2.4rem}.pong-toggle{font-size:.92rem}.pong-instructions{font-size:.84rem}.chat-log{min-height:15rem;max-height:min(30rem,58vh);padding-inline:.85rem}.chat-submit{right:.42rem;width:2.4rem;height:2.4rem}.chat-input{min-height:3.35rem;padding-right:3.25rem}}@media(max-width:420px){.about-prose{font-size:clamp(.9rem,4vw,1rem);padding-top:clamp(.5rem,3vh,1.2rem)}.section-title{font-size:clamp(1.4rem,6vw,1.8rem)}.pong-instructions{font-size:.78rem}.pong-shell{gap:.6rem}.chat-log{min-height:14rem;padding:.85rem .7rem}.chat-bubble{max-width:92%;padding:.45rem .7rem;font-size:.9rem}.chat-entry-user .chat-bubble{max-width:86%}.chat-input{min-height:3.1rem;padding:.8rem 3.1rem .72rem .8rem}.chat-hint{display:none}}:root[data-screen=phone][data-orientation=landscape] .about-prose{padding-top:.25rem}:root[data-screen=phone] .certificate-modal-card{width:100%;height:calc(var(--viewport-height, 100dvh) - 1rem);border-radius:.55rem}:root[data-screen=phone] .certificate-modal{padding:.5rem}:root[data-screen=phone] .certificate-modal-header{padding-inline:.75rem .55rem}:root[data-screen=phone] .certificate-modal-action{min-height:2.35rem;padding-inline:.6rem;font-size:.72rem}.detail-page,.not-found-page{padding-block:clamp(2.8rem,5vw,5.5rem)}.detail-load-state{display:flex;justify-content:center;align-items:center;gap:.8rem;padding-block:4rem;color:var(--muted);font-style:italic}.detail-load-state:not(.is-error){opacity:.5}.detail-load-retry{min-height:2.75rem;padding:.55rem .9rem;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--link);font:inherit;font-style:normal}.not-found-page{display:grid;gap:var(--grid-gap);align-content:start}.breadcrumbs{margin-bottom:clamp(2rem,4vw,3.5rem);color:var(--muted);font-size:.78rem;line-height:1.4}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem 0}.breadcrumbs li{display:inline-flex;align-items:center;min-width:0}.breadcrumbs li+li:before{content:"/";margin-inline:.55rem;color:var(--line)}.breadcrumbs a{color:var(--link);transition:color .2s cubic-bezier(.16,1,.3,1)}.breadcrumbs [aria-current=page]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem clamp(1.5rem,4vw,3rem)}.detail-page-header-text{display:grid;grid-column:1;gap:var(--grid-gap);max-width:780px}.detail-page-header-logo{grid-column:2;grid-row:1}.detail-page-header-logo .content-media--logo{width:7.5rem;aspect-ratio:3 / 2}@media(max-width:560px){.detail-page-header-logo .content-media--logo{width:5rem}}@media(max-width:480px){.detail-page-header{grid-template-columns:minmax(0,1fr);gap:1.25rem}.detail-page-header-logo{grid-column:1;grid-row:1}.detail-page-header-text{grid-column:1;grid-row:2}}.not-found-eyebrow{color:var(--accent);font-size:.85rem;font-weight:600}.detail-page-header h1,.not-found-page h1{max-width:30ch;color:var(--text);font-size:clamp(1.8rem,4vw,3.2rem);line-height:var(--lh-tight);letter-spacing:normal;text-wrap:balance}.detail-header-meta{color:var(--muted);font-size:.92rem;line-height:1.5}.detail-introduction{max-width:62ch;color:var(--body);font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.6}.detail-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.5rem}.detail-action{padding:.5rem 1rem;border:1px solid var(--accent);border-radius:var(--radius-sm);color:var(--accent);font-size:.85rem;line-height:1.3;transition:background-color .16s ease,color .16s ease}.detail-action:first-child{background:var(--accent);color:var(--accent-text)}@media(hover:hover)and (pointer:fine){.detail-action:hover{background:var(--accent-soft)}.detail-action:first-child:hover{background:var(--accent-hover);border-color:var(--accent-hover)}}.detail-action:active{background:var(--accent-active);border-color:var(--accent-active);color:var(--accent-text)}.detail-hero{margin-top:clamp(2rem,5vw,4rem);overflow:visible;background:transparent}.detail-hero-trigger{position:relative;display:block;width:100%;border:0;padding:0;background:transparent;color:inherit;cursor:zoom-in}.detail-hero-expand-hint{position:absolute;right:clamp(.6rem,1.5vw,1rem);bottom:clamp(.6rem,1.5vw,1rem);z-index:2;display:inline-flex;align-items:center;min-height:2rem;padding:.4rem .7rem;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-sm);background:#000000eb;color:#fff;font-size:clamp(.68rem,1.4vw,.78rem);line-height:1;letter-spacing:normal;pointer-events:none}.detail-hero-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.content-media--hero{aspect-ratio:16 / 9;overflow:visible;background:transparent}.content-media--hero .content-media-image{box-shadow:var(--media-inner-line)}.content-media--hero.is-contain{background:#fff}.content-media--hero.is-contain .content-media-image{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);box-shadow:var(--document-shadow)}.content-media--hero.is-contain .content-media-image,.carousel-image{object-position:center center}.carousel{margin-top:clamp(2rem,5vw,4rem)}.carousel:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.carousel-stage{position:relative;aspect-ratio:3 / 4;overflow:visible;background:transparent;touch-action:pan-y}@media(min-width:560px){.carousel-stage{aspect-ratio:4 / 3}}@media(min-width:780px){.carousel-stage{aspect-ratio:16 / 9}}.carousel-image{display:block;width:100%;height:100%;object-fit:contain;box-shadow:var(--media-inner-line);animation:gallery-fade-in .22s cubic-bezier(.16,1,.3,1)}.carousel-image.is-document{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);background:#fff;box-shadow:var(--document-shadow)}.carousel-image.has-theme-frame{background:var(--media-frame)}.carousel-expand-trigger{position:relative;display:block;width:100%;height:100%;border:0;padding:0;background:transparent;color:inherit;cursor:zoom-in}.carousel-expand-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.carousel-expand-hint{position:absolute;left:clamp(.6rem,1.5vw,1rem);bottom:clamp(.6rem,1.5vw,1rem);z-index:2;display:inline-flex;align-items:center;min-height:2rem;padding:.4rem .7rem;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-sm);background:#000000eb;color:#fff;font-size:clamp(.68rem,1.4vw,.78rem);line-height:1;letter-spacing:normal;pointer-events:none}.carousel-nav{position:absolute;top:50%;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-sm);background:#000000eb;color:#fff;cursor:pointer;transform:translateY(-50%);transition:background-color .16s ease}.carousel-prev{left:clamp(.5rem,2vw,.9rem)}.carousel-next{right:clamp(.5rem,2vw,.9rem)}.carousel-nav-icon{width:1.3rem;height:1.3rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.carousel-nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(hover:hover)and (pointer:fine){.carousel-nav:hover{background:#000}}.carousel-counter{position:absolute;right:clamp(.6rem,1.5vw,1rem);bottom:clamp(.6rem,1.5vw,1rem);z-index:2;display:inline-flex;align-items:center;min-height:1.9rem;padding:.35rem .65rem;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-sm);background:#000000eb;color:#fff;font-size:.72rem;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:normal;pointer-events:none}.carousel-caption{margin-top:.7rem;color:var(--muted);font-size:.82rem;line-height:1.5}.carousel-thumbs{display:flex;gap:.55rem;margin-top:.9rem;padding-bottom:.3rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.carousel-thumbs>li{flex:0 0 auto}.carousel-thumb{flex:0 0 auto;width:4.6rem;height:3.3rem;border:2px solid transparent;border-radius:var(--radius-sm);padding:0;overflow:hidden;background:var(--media-frame);cursor:pointer;opacity:.55;scroll-snap-align:start;transition:opacity .16s ease,border-color .16s ease}.carousel-thumb.has-theme-frame{background:var(--media-frame)}.carousel-thumb img{display:block;width:100%;height:100%;object-fit:cover}.carousel-thumb.is-document img{object-fit:contain;background:#fff}.carousel-thumb.is-active{border-color:var(--accent);opacity:1}.carousel-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px;opacity:1}@media(hover:hover)and (pointer:fine){.carousel-thumb:hover{opacity:.85}}@media(prefers-reduced-motion:reduce){.carousel-image{animation:none}.carousel-thumbs{scroll-behavior:auto}}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2.5rem,5vw,3.5rem);margin-top:clamp(3rem,6vw,5.5rem);align-items:start}.detail-main{min-width:0}.detail-aside{min-width:0;order:-1}.detail-aside-sticky>*+*{margin-top:1.8rem}@media(min-width:1150px){.detail-layout{grid-template-columns:minmax(0,680px) minmax(200px,240px);justify-content:start;gap:clamp(2.5rem,4vw,4rem)}.detail-main{order:0}.detail-aside{order:1;position:sticky;top:2rem}}.detail-metadata{display:grid;gap:0;border-block:1px solid var(--line)}.detail-metadata>div{min-width:0;padding:.75rem 0}.detail-metadata>div+div{border-top:1px solid var(--line-hairline)}.detail-metadata dt{margin-bottom:.22rem;color:var(--muted);font-size:.78rem}.detail-metadata dd{margin:0;color:var(--body);font-size:.88rem;line-height:1.45}.detail-tags{display:flex;flex-wrap:wrap;gap:.4rem}.detail-tags li{padding:.22rem .48rem;border:1px solid var(--line);border-radius:.3rem;color:var(--muted);background:transparent;font-size:.72rem;line-height:1.3}.detail-tags a{color:inherit;text-decoration:none}.detail-tags a:hover,.detail-tags a:focus-visible{color:var(--accent)}.detail-section{display:grid;gap:1rem;padding-block:clamp(1.6rem,3vw,2.5rem);border-top:1px solid var(--line);scroll-margin-top:1.5rem}.detail-layout .detail-main>.detail-section:first-child{padding-top:0;border-top:0}.detail-section h2{color:var(--text);font-family:var(--font-base);font-style:normal;font-weight:500;font-size:clamp(1.15rem,2vw,1.5rem);line-height:var(--lh-tight)}.detail-section h3{color:var(--text);font-family:var(--font-base);font-style:normal;font-weight:500;font-size:.98rem;line-height:var(--lh-tight)}.detail-section p,.detail-section li{color:var(--body);font-size:.94rem;line-height:1.7}.inline-link{color:var(--link);transition:color .2s cubic-bezier(.16,1,.3,1)}.download-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--link);line-height:1.35;text-decoration:none}.download-link-icon{flex:0 0 auto;width:1.25rem;height:1.25rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.download-link-icon text{fill:currentColor;stroke:none;font-family:var(--font-base);font-size:5.2px;font-weight:700;letter-spacing:normal}@media(hover:hover)and (pointer:fine){.inline-link:hover{color:var(--accent)}}.detail-section>ul{display:grid;gap:.48rem;padding-left:1.1rem;list-style:disc}:root[data-screen=phone] .detail-section,:root[data-screen=tablet] .detail-section{scroll-margin-top:5rem}.responsibility-groups{display:grid;gap:1.6rem}.responsibility-group{display:grid;gap:.6rem}.responsibility-group ul{display:grid;gap:.45rem;padding-left:1.1rem;list-style:disc}.work-items{display:grid}.work-item{display:grid;gap:.5rem;padding-block:1.4rem}.work-item:first-child{padding-top:0}.work-item+.work-item{border-top:1px solid var(--line-hairline)}.work-item-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:1rem;row-gap:.5rem;align-items:baseline;margin-top:.9rem}.work-item-facts div{display:contents}.work-item-facts dt{color:var(--muted);font-size:.78rem;font-weight:600}.work-item-facts dd{margin:0;color:var(--body);font-size:.88rem;line-height:1.55}.skill-groups{display:grid;gap:1.1rem}.skill-group{display:grid;gap:.45rem;padding:.9rem 1rem;border-left:2px solid var(--accent);background:var(--accent-soft)}.skill-group h3{color:var(--text);font-size:.9rem;font-weight:200}.detail-section .skill-group-list{color:var(--body);font-size:.96rem;line-height:1.6}.process-steps{display:grid;gap:1.3rem;list-style:none;padding:0}.process-steps>li{display:grid;gap:.35rem}.challenge-items{display:grid;gap:1.6rem}.challenge-item{display:grid;gap:.6rem;padding-bottom:1.6rem}.challenge-item:last-child{padding-bottom:0}.challenge-item+.challenge-item{padding-top:1.6rem;border-top:1px solid var(--line-hairline)}.outcome-metrics{display:grid;border-top:1px solid var(--line-hairline)}.outcome-metrics>div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-block:.7rem;border-bottom:1px solid var(--line-hairline)}.outcome-metrics dt{color:var(--muted);font-size:.88rem}.outcome-metrics dd{margin:0;color:var(--text);font-size:.92rem;font-weight:600;text-align:right}.outcome-metrics dd.is-placeholder{color:var(--muted);font-weight:400;font-style:italic}.outcome-notes{margin-top:1.2rem}.detail-section>.learning-list{display:grid;gap:.7rem;list-style:none;padding:0}.learning-list li{position:relative;padding-left:1.2rem}.learning-list li:before{content:"";position:absolute;left:0;top:.55rem;width:.35rem;height:.35rem;border-radius:50%;background:var(--body)}.gallery-lightbox{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:clamp(1rem,4vw,3rem)}.gallery-lightbox-nav{position:absolute;top:50%;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.35rem;height:2.35rem;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-sm);background:#000000eb;color:#fff;cursor:pointer;transform:translateY(-50%);transition:background-color .16s ease}.gallery-lightbox-prev{left:max(.5rem,env(safe-area-inset-left))}.gallery-lightbox-next{right:max(.5rem,env(safe-area-inset-right))}.gallery-lightbox-nav:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(hover:hover)and (pointer:fine){.gallery-lightbox-nav:hover{background:#000}}.gallery-lightbox-position{position:absolute;top:max(1rem,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:2;margin:0;display:inline-flex;align-items:center;min-height:1.9rem;padding:.35rem .65rem;border:1px solid rgba(255,255,255,.22);border-radius:var(--radius-sm);background:#000000eb;color:#fff;font-size:.72rem;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:normal;pointer-events:none}.gallery-lightbox-body{margin:0;max-width:min(90vw,1100px);max-height:calc(100dvh - 6rem);display:flex;flex-direction:column;align-items:center;gap:.7rem}.gallery-lightbox-body img{width:auto;max-width:100%;max-height:calc(100dvh - 12rem);object-fit:contain;background:transparent;box-shadow:var(--media-inner-line);animation:gallery-fade-in .22s cubic-bezier(.16,1,.3,1)}.gallery-lightbox-body.is-document img{box-shadow:var(--document-shadow)}.gallery-lightbox.is-single .gallery-lightbox-body img{max-height:calc(100dvh - 6rem)}@keyframes gallery-fade-in{0%{opacity:0}to{opacity:1}}.gallery-lightbox-body figcaption{color:#fff;font-size:.82rem;text-align:center}.gallery-lightbox-thumbs{position:relative;z-index:1;flex:0 0 auto;display:flex;gap:.5rem;max-width:min(90vw,1100px);padding-bottom:env(safe-area-inset-bottom);overflow-x:auto}.gallery-lightbox-thumbs>li{flex:0 0 auto}.gallery-lightbox-thumb{flex:0 0 auto;width:3.75rem;height:2.75rem;border:1px solid rgba(255,255,255,.25);border-radius:.3rem;padding:0;overflow:hidden;background:var(--media-frame);cursor:pointer;opacity:.55;transition:opacity .16s ease,border-color .16s ease}.gallery-lightbox-thumb img{width:100%;height:100%;object-fit:cover;display:block}.gallery-lightbox-thumb.is-document img{object-fit:contain;background:#fff}.gallery-lightbox-thumb.is-active{border-color:#fff;opacity:1}.gallery-lightbox-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px;opacity:1}@media(hover:hover)and (pointer:fine){.gallery-lightbox-thumb:hover{opacity:.85}}@media(prefers-reduced-motion:reduce){.gallery-lightbox-body img{animation:none}}.related-entries{display:grid}.related-entries li+li{border-top:1px solid var(--line-hairline)}.related-entries a{display:grid;gap:.25rem;padding-block:.9rem;transition:color .16s ease}.related-entry-type{color:var(--accent);font-size:.78rem;font-weight:600}.related-entries strong{color:var(--text);font-size:.98rem;line-height:1.35}.related-entry-summary{color:var(--body);font-size:.85rem;line-height:1.5}@media(hover:hover)and (pointer:fine){.related-entries a:hover strong{color:var(--accent)}}.detail-back-link,.not-found-page>a{color:var(--link);font-size:.82rem;transition:color .2s cubic-bezier(.16,1,.3,1)}.previous-next{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:clamp(2rem,4vw,3rem);border-block:1px solid var(--line)}.previous-next a{min-width:0;padding-block:1rem;color:var(--text)}.previous-next a:last-child{text-align:right}.previous-next a span{display:block;margin-bottom:.22rem;color:var(--muted);font-size:.78rem}.previous-next a strong{display:block;overflow-wrap:break-word;font-size:.82rem;line-height:1.35}.detail-back-link{display:inline-block}.detail-footer-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.25rem}.detail-footer-nav .detail-back-link:last-child{text-align:right}.not-found-page{width:min(100%,760px)}.not-found-page>p:not(.not-found-eyebrow){max-width:52ch;margin-block:1.25rem 1.5rem;color:var(--body);line-height:1.7}@media(hover:hover)and (pointer:fine){.breadcrumbs a:hover,.detail-back-link:hover,.not-found-page>a:hover,.previous-next a:hover{color:var(--accent)}}@media(max-width:560px){.breadcrumbs{margin-bottom:1.8rem}.breadcrumbs [aria-current=page]{max-width:44vw}.detail-hero{margin-inline:-.15rem}.previous-next{grid-template-columns:1fr}.previous-next>span{display:none}.previous-next a:last-child{border-top:1px solid var(--line);text-align:left}}@media(prefers-reduced-motion:reduce){.breadcrumbs a,.detail-back-link,.not-found-page>a,.detail-action,.download-link,.related-entries a{transition:none}}:root{--bg: #1b2436;--surface: #263240;--media-frame: #263240;--media-inner-line: inset 0 0 0 1px rgba(255, 255, 255, .12);--document-shadow: 0 2px 4px rgba(0, 0, 0, .28);--surface-border: rgba(62, 76, 92, .4);--surface-shadow: 0 4px 16px rgba(0, 0, 0, .3);--heading: #e8ecf0;--text: #e8ecf0;--body: #afb3ba;--muted: #8a99a8;--placeholder: rgba(138, 153, 168, .4);--line: #3e4c5c;--line-hairline: rgba(62, 76, 92, .5);--accent: #8fa9c7;--accent-hover: #7896b8;--accent-active: #708fb3;--accent-text: #1b2436;--accent-soft: rgba(143, 169, 199, .1);--link: #8fa9c7;--icon: #8a99a8;--icon-interactive: #8fa9c7;--input-bg: #263240;--input-border: rgba(62, 76, 92, .8);--input-focus-border: #8fa9c7;--input-focus-shadow: 0 0 0 3px rgba(143, 169, 199, .25);--selection-bg: #1C39BB;--selection-color: #ffffff;--loader-text: #e8ecf0;--loader-text-shadow: 0 0 1px rgba(255, 255, 255, .35), 0 10px 24px rgba(0, 0, 0, .32);--radius-sm: 4px;--radius-md: 8px;--font-fraunces: "Fraunces", "Fraunces Fallback", Georgia, serif;--font-switzer: "Switzer", "Switzer Fallback", "Helvetica Neue", Arial, sans-serif;--font-space-grotesk: "Space Grotesk", "Space Grotesk Fallback", "Helvetica Neue", Arial, sans-serif;--font-base: var(--font-switzer);--font-heading: var(--font-fraunces);--font-numeric: var(--font-space-grotesk);--font-loader-arabic: "Amiri Quran", serif;--lh-tight: 1.2;--lh-body: 1.6;--lh-ui: 1.5;--grid-gap: 2rem;--container-max: 90rem;--viewport-height: 100vh;--viewport-width: 100vw;color-scheme:dark}:root[data-theme=light]{--bg: #f1f0e8;--surface: #ffffff;--media-frame: #ffffff;--media-inner-line: inset 0 0 0 1px rgba(255, 255, 255, .12);--document-shadow: 0 2px 4px rgba(17, 23, 34, .1);--surface-border: rgba(110, 122, 130, .2);--surface-shadow: 0 4px 12px rgba(107, 103, 96, .08);--heading: #2c2a26;--text: #2c2a26;--body: #45413b;--muted: #68645c;--placeholder: rgba(104, 100, 92, .5);--line: #6e7a82;--line-hairline: rgba(110, 122, 130, .4);--accent: #1d5d9b;--accent-hover: #174c80;--accent-active: #123d68;--accent-text: #ffffff;--accent-soft: rgba(29, 93, 155, .08);--link: #1d5d9b;--icon: #68645c;--icon-interactive: #1d5d9b;--input-bg: #ffffff;--input-border: rgba(110, 122, 130, .6);--input-focus-border: #1d5d9b;--input-focus-shadow: 0 0 0 3px rgba(29, 93, 155, .2);--selection-bg: #005A9C;--selection-color: #ffffff;--loader-text: #2c2a26;--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}::selection{background:var(--selection-bg, var(--accent));color:var(--selection-color, var(--accent-text))}html,body,#root{margin:0;min-height:100%}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}html{background:var(--bg);scroll-behavior:smooth;font-size:18px;scrollbar-gutter:stable;overflow-x:hidden;overflow-x:clip;scrollbar-color:var(--accent) transparent;scrollbar-width:thin}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--accent);border-radius:10px;border:2px solid var(--bg)}::-webkit-scrollbar-corner{background:transparent}body{background:var(--bg);color:var(--text);font-family:var(--font-base);font-size:16px;font-style:normal;font-weight:400;line-height:var(--lh-body);letter-spacing:normal;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease;overflow-x:hidden;overflow-x:clip}.theme-transition-overlay{position:fixed;left:var(--theme-transition-x);top:var(--theme-transition-y);z-index:40;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(.33,1,.68,1);will-change:transform}.theme-transition-overlay.is-active{transform:translate(-50%,-50%) scale(0)}.theme-transition-overlay--dark{background:#1b2436}.theme-transition-overlay--light{background:#f1f0e8}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{-webkit-tap-highlight-color:transparent}:is(a,button,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px}img{display:block;width:100%;height:auto}h1,h2,h3{font-family:var(--font-heading);font-style:italic;font-weight:200;font-optical-sizing:none;letter-spacing:normal;line-height:var(--lh-tight)}h1,h2,h3,p{margin:0}p{line-height:var(--lh-body)}nav,button,input,textarea,select{font-family:var(--font-switzer);letter-spacing:normal;line-height:var(--lh-ui)}.ui-medium{font-weight:500}time,.is-numeric{font-family:var(--font-numeric);font-weight:650}.layout-grid{display:grid;gap:var(--grid-gap)}.flow{display:flex;flex-direction:column;gap:var(--grid-gap)}ul{margin:0;padding:0;list-style:none}html.matrix-theme{--bg: #000000 !important;--surface: #001100 !important;--heading: #00ff41 !important;--text: #00ff41 !important;--body: #00ff41 !important;--muted: #008f11 !important;--line: #003b00 !important;--line-hairline: #001a00 !important;--accent: #00ff41 !important;--accent-hover: #00cc33 !important;--accent-active: #009922 !important;--accent-text: #000000 !important;--link: #00ff41 !important;--icon: #008f11 !important;--icon-interactive: #00ff41 !important;--media-frame: #001a00 !important}html.matrix-theme body{font-family:monospace,Courier New,Courier!important;font-weight:400!important;text-shadow:0 0 4px rgba(0,255,65,.5),0 0 1px rgba(0,255,65,.8)}html.matrix-theme h1,html.matrix-theme h2,html.matrix-theme h3,html.matrix-theme h4,html.matrix-theme h5,html.matrix-theme h6,html.matrix-theme p,html.matrix-theme a,html.matrix-theme span,html.matrix-theme div,html.matrix-theme button,html.matrix-theme input,html.matrix-theme textarea{font-family:monospace,Courier New,Courier!important}html.matrix-theme .side-portrait,html.matrix-theme .portrait-button{text-shadow:none!important}html.matrix-theme ::selection{background:#00ff41!important;color:#000!important}html.matrix-theme .side-controls{display:none!important}html.matrix-theme .side-link{color:var(--muted)!important}html.matrix-theme .side-link.is-active,html.matrix-theme .side-link:hover{color:var(--text)!important}.about-matrix{display:none}html.matrix-theme .about-normal{display:none!important}html.matrix-theme .about-matrix{display:flex;align-items:center;justify-content:center;min-height:50vh;padding-block:4rem}
