@import"https://fonts.googleapis.com/css2?family=Cagliostro&display=swap";:root{--main-color: teal;--darker-main-color: hsl(180, 100%, 19%);--lighter-main-color: hsl(180, 40%, 70%);--lighter-main-color-bg: hsl(180, 40%, 80%);--lightest-main-color: hsl(180, 100%, 88%);--lightest-main-color-bg: hsl(180, 100%, 92%);--text-color: beige;--accent-color: gray;--highlight-color: hsl(60, 100%, 69%);--highlight-animation: breath 1s alternate infinite;--bluesky-logo: url(data:image/svg+xml,\ %3Csvg%20viewBox%3D%220%200%2064%2056%22%20width%3D%2216%22%20height%3D%2216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M%2064%208.63%20%20L%2064%2012.48%20%20Q%2063.49%2019%2062.73%2025.48%20%20Q%2062.19%2030.05%2060.93%2032.14%20%20C%2058.06%2036.87%2052.66%2038.66%2047.30%2038.32%20%20Q%2047.11%2038.31%2047.08%2038.50%20%20L%2047.08%2038.51%20%20Q%2047.05%2038.71%2047.25%2038.76%20%20C%2054.32%2040.39%2060.73%2045.99%2054.50%2053.39%20%20C%2048.99%2059.95%2040.97%2063.66%2035.61%2054.05%20%20Q%2033.52%2050.30%2032.26%2046.58%20%20Q%2031.94%2045.63%2031.66%2046.59%20%20C%2029.39%2054.31%2023.78%2064.51%2014.08%2057.69%20%20C%208.51%2053.78%203.02%2046.39%2011.17%2041.06%20%20Q%2013.27%2039.69%2016.58%2038.70%20%20Q%2016.67%2038.67%2016.70%2038.59%20%20Q%2016.72%2038.54%2016.73%2038.49%20%20Q%2016.80%2038.23%2016.53%2038.25%20%20C%2011.18%2038.71%205.59%2036.64%202.94%2031.89%0A%20%20Q%201.68%2029.62%201.08%2023.85%20%20Q%200.50%2018.25%200%2012.61%20%20L%200%208.76%20%20Q%201.38%202.21%208.11%204.69%20%20Q%2012.37%206.26%2015.57%209.15%20%20Q%2025.32%2017.95%2031.72%2029.79%20%20A%200.28%200.28%200.0%200%200%2032.21%2029.79%20%20Q%2039.07%2017.33%2049.05%208.64%20%20C%2052.81%205.37%2062.07%200.18%2064%208.63%20%20Z%22%2F%3E%3C%2Fsvg%3E);--onvo-logo: url(data:image/svg+xml,\ %3Csvg%20viewBox%3D%22250%20300%20500%20250%22%20width%3D%2216%22%20height%3D%2216%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M441.4%20354.2c-48.5%2048.7-55.9%2056.5-61.7%2065.3-7.4%2011.3-12.7%2021.8-12.7%2025.4%200%202.8-1.3%201.4%2076.4%2079.1%2028.9%2028.8%2053.5%2052.8%2054.6%2053.2%201.3.5%203.4.2%205.3-.6%201.8-.8%2030.4-28.7%2066.5-64.8%2058.5-58.6%2063.2-63.6%2063.2-66.7%200-4.5-8.5-20.5-16.8-31.7-4.3-5.8-24.7-27.1-59.1-61.7-52.1-52.2-52.6-52.7-56.6-52.7s-4.6.5-59.1%2055.2zm97.3%2042C574.5%20432%20577%20434.7%20577%20438c0%203.3-2.4%205.9-36.7%2040.2-34.5%2034.5-37%2036.8-40.3%2036.8-3.3%200-5.8-2.3-40.3-36.8-34-34.1-36.7-37-36.7-40.2%200-3.2%202.8-6.2%2038.2-41.7%2021.1-21.1%2038.5-38.3%2038.8-38.3.3%200%2017.7%2017.2%2038.7%2038.2z%22%2F%3E%3Cpath%20d%3D%22M359.3%20513.6c-2.4%202.4-2.5%203-1.9%209.4%201.7%2019%2012.9%2045.4%2027.4%2065%208.1%2010.9%20108.7%20111.7%20112.8%20113%202.6.9%203.9.8%206.1-.4%201.5-.8%2026.4-25.2%2055.3-54.3%2036.4-36.6%2054.3-55.3%2058.3-61%2011.5-16.2%2020.4-36.2%2024.2-54.4%202.4-11.3%202.2-14.9-.9-17.6-3.1-2.7-5.6-2.9-9.4-.9-1.5.8-30.8%2029.6-65.2%2064-58.9%2059-62.7%2062.6-66%2062.6-3.3%200-7.1-3.6-66-62.6-34.4-34.4-63.7-63.2-65.2-64-3.9-2.1-6.6-1.7-9.5%201.2z%22%2F%3E%3C%2Fsvg%3E);--twitter-logo: url(data:image/svg+xml,\ %3Csvg%20viewBox%3D%220%200%2024%2020%22%20width%3D%2214%22%20height%3D%2214%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cpath%20d%3D%22M18%202h4l-8%209%209%2011h-7l-5-7-6%207H2l7-9L1%202h7l5%206zm-1%2018h2L7%204H5z%22%2F%3E%0A%3C%2Fsvg%3E);--github-logo: url(data:image/svg+xml,\ %3Csvg%20viewBox%3D%220%200%2016%2016%22%20width%3D%2216%22%20height%3D%2214%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M8%200c4.42%200%208%203.58%208%208a8.013%208.013%200%200%201-5.45%207.59c-.4.08-.55-.17-.55-.38%200-.27.01-1.13.01-2.2%200-.75-.25-1.23-.54-1.48%201.78-.2%203.65-.88%203.65-3.95%200-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12%200%200-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68%200-1.36.09-2%20.27-1.53-1.03-2.2-.82-2.2-.82-.44%201.1-.16%201.92-.08%202.12-.51.56-.82%201.28-.82%202.15%200%203.06%201.86%203.75%203.64%203.95-.23.2-.44.55-.51%201.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82%201.13.16.45.68%201.31%202.69.94%200%20.67.01%201.3.01%201.49%200%20.21-.15.45-.55.38A7.995%207.995%200%200%201%200%208c0-4.42%203.58-8%208-8Z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E);--npm-logo: url(data:image/svg+xml,\ %3Csvg%20viewBox%3D%220%200%20780%20250%22%20width%3D%2216%22%20height%3D%2212%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M240%2C250h100v-50h100V0H240V250z%20M340%2C50h50v100h-50V50z%20M480%2C0v200h100V50h50v150h50V50h50v150h50V0H480z%20M0%2C200h100V50h50v150h50V0H0V200z%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E);color:var(--darker-main-color);background-color:var(--lightest-main-color);scroll-behavior:smooth}::-moz-selection{background-color:var(--main-color);color:var(--text-color)}:root::-moz-selection{background-color:var(--main-color);color:var(--text-color)}:root::selection{background-color:var(--main-color);color:var(--text-color)}body{font-family:Cagliostro,Helvetica Neue,Helvetica,Arial,sans-serif;margin:0;padding:0}:target{-webkit-animation:breath alternate .5s 4;animation:breath alternate .5s 4}h1,h2,h3,h4,h5,h6{text-transform:capitalize}a,a:visited{color:var(--darker-main-color)}a[href*="github.com"]:before{content:var(--github-logo) " ";vertical-align:middle}a:is([href*="npmjs.com"],[href*="npm.im"]):before{content:var(--npm-logo) " ";vertical-align:middle}a:is([href*="bsky.app"],[href*="bsky.social"]):before{content:var(--bluesky-logo) " ";vertical-align:middle}a[href*="onvo.me"]:before{content:var(--onvo-logo);vertical-align:middle}a:is([href*="/twitter.com/"],[href*="/x.com/"],[href*="/t.co/"],[href*=".twitter.com"],[href*=".x.com"],[href*=".t.co/"]):before{content:var(--twitter-logo) " ";vertical-align:middle}@media (prefers-reduced-motion: no-preference){a:before{display:inline-block;overflow-x:hidden;width:0;transition:width .5s ease-in-out}a:hover:before{width:1.25rem}}footer a,.tag{text-decoration:none;background-color:var(--lighter-main-color);padding-inline:.25rem;display:inline-block;transform:skew(-6deg)}.tag:before{content:"#"}.rtl{direction:rtl}code:not(.highlighted-snippet):not([class*=language-]){line-height:1.3rem;color:#a00;font-family:monospace;background-color:#eee;padding:.125rem;border:#bbb 1px solid;border-radius:.25rem}div:has(>pre>:is(.highlighted-snippet,code[class*=language-])):hover code.highlighted-snippet,div:has(>pre>:is(.highlighted-snippet,code[class*=language-])):hover code[class*=language-]{border:1px solid var(--main-color)}code.highlighted-snippet,code[class*=language-]{display:block;position:relative;background-color:var(--lighter-main-color-bg);color:var(--darkest-main-color);border:1px solid transparent;border-radius:.5rem;padding:1rem;max-width:100%;text-wrap:wrap;overflow-x:auto;line-height:initial}code.highlighted-snippet .hljs-attr,code[class*=language-] .hljs-attr{color:purple}code.highlighted-snippet .hljs-keyword,code.highlighted-snippet .token.keyword,code[class*=language-] .hljs-keyword,code[class*=language-] .token.keyword{color:#e9967a;-webkit-filter:brightness(70%);filter:brightness(70%)}code.highlighted-snippet .hljs-params,code[class*=language-] .hljs-params{color:#b8860b}code.highlighted-snippet .hljs-variable.language_,code.highlighted-snippet .token.constant,code[class*=language-] .hljs-variable.language_,code[class*=language-] .token.constant{color:#2251dd}code.highlighted-snippet .hljs-title.function_,code.highlighted-snippet .token.function,code[class*=language-] .hljs-title.function_,code[class*=language-] .token.function{color:purple}code.highlighted-snippet .hljs-string,code.highlighted-snippet .token.builtin,code[class*=language-] .hljs-string,code[class*=language-] .token.builtin{color:green}code.highlighted-snippet .hljs-property,code[class*=language-] .hljs-property{color:var(--main-color)}code.highlighted-snippet .hljs-number,code[class*=language-] .hljs-number{color:#2251dd}[contenteditable]{position:relative;-webkit-margin-end:1rem;margin-inline-end:1rem}[contenteditable]:after{content:"📝";position:absolute;-webkit-margin-start:.2rem;margin-inline-start:.2rem}[contenteditable]:hover{outline-color:var(--darker-main-color);outline-style:solid;outline-width:2px;outline-offset:2px}[contenteditable]:hover:after{content:"edit this snippet";background-color:#eee;border-radius:inherit;border:inherit;padding:inherit;font-family:initial;text-align:center;text-wrap:nowrap;inset-inline-start:50%;inset-block-start:50%;color:var(--main-color);-webkit-animation:hover-over 1s infinite alternate ease-in-out;animation:hover-over 1s infinite alternate ease-in-out;cursor:text;z-index:1}code[contenteditable]{border-style:dashed;border-color:currentColor}[id]{scroll-margin-block-start:4rem}pre,code{direction:ltr}@-webkit-keyframes hover{0%{transform:translateY(0)}to{transform:translateY(.5rem)}}@keyframes hover{0%{transform:translateY(0)}to{transform:translateY(.5rem)}}@-webkit-keyframes hover-over{0%{transform:translateY(-.5rem)}to{transform:translateY(.5rem)}}@keyframes hover-over{0%{transform:translateY(-.5rem)}to{transform:translateY(.5rem)}}@-webkit-keyframes vanish-outline{0%{outline-style:dotted}50%{outline-style:dashed}to{outline-style:solid}}@keyframes vanish-outline{0%{outline-style:dotted}50%{outline-style:dashed}to{outline-style:solid}}@-webkit-keyframes breath{0%{background-color:initial}to{background-color:var(--highlight-color)}}@keyframes breath{0%{background-color:initial}to{background-color:var(--highlight-color)}}span.svelte-1764d75{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1;width:1;margin:-1;padding:0;border:0}button.svelte-1cmi4dh{padding:0;font-weight:inherit;color:inherit;background:none;border:none;box-shadow:none;overflow:hidden;min-width:3rem;min-height:2rem;display:flex;align-items:center;justify-content:center;gap:.5rem}nav.svelte-1h32yp1{background-color:var(--main-color);position:sticky;inset-block-start:0;z-index:1;padding-inline-start:5vw;box-shadow:0 -.5rem 4rem var(--main-color);display:flex;justify-content:space-around}@media (max-width: 450px){nav.svelte-1h32yp1{padding-inline:10vw 0}}nav.svelte-1h32yp1>li:where(.svelte-1h32yp1){display:inline;position:relative;font-weight:700;font-size:1.5rem;color:var(--text-color);padding-block:.5rem}nav.svelte-1h32yp1>li:where(.svelte-1h32yp1) a:where(.svelte-1h32yp1){text-decoration:none;color:var(--text-color)}nav.svelte-1h32yp1>li:where(.svelte-1h32yp1) a:where(.svelte-1h32yp1):not(:has(#hosam-avatar)):hover{background-color:var(--accent-color);color:var(--text-color)}nav.svelte-1h32yp1>li:where(.svelte-1h32yp1) ul:where(.svelte-1h32yp1){padding:.8rem;list-style:none;width:max-content;position:absolute;inset-block-start:40%;inset-inline-start:-50%;border:1px solid var(--lighter-main-color);border-radius:.25rem;background-color:var(--darker-main-color)}nav.svelte-1h32yp1>li:where(.svelte-1h32yp1) ul:where(.svelte-1h32yp1) li:where(.svelte-1h32yp1){padding-inline-end:.75rem;padding-inline-start:0;border-inline-start:none;transition:border-inline-start 0s ease-out,padding-inline-end .5s ease-out,padding-inline-start .5s ease-out}nav.svelte-1h32yp1>li:where(.svelte-1h32yp1) ul:where(.svelte-1h32yp1) li:where(.svelte-1h32yp1):not(:first-of-type){margin-block-start:.5rem}nav.svelte-1h32yp1>li:where(.svelte-1h32yp1) ul:where(.svelte-1h32yp1) li:where(.svelte-1h32yp1):hover{border-inline-start:.25rem solid currentColor;padding-inline-start:.5rem;padding-inline-end:0}nav.svelte-1h32yp1 li:where(.svelte-1h32yp1):not(:is(:hover,:focus,:active,:focus-within))>ul:where(.svelte-1h32yp1){display:none}nav.svelte-1h32yp1>li:where(.svelte-1h32yp1):has(#hosam-avatar:where(.svelte-1h32yp1)){position:absolute;inset-inline-start:1rem;background-color:var(--main-color);padding:1rem;border-radius:50%;width:2rem;height:2rem}nav.svelte-1h32yp1>li:where(.svelte-1h32yp1):has(#hosam-avatar:where(.svelte-1h32yp1)) #hosam-avatar:where(.svelte-1h32yp1){object-fit:cover;object-position:100% 0;border-radius:50%;outline-width:2px;outline-offset:4px}@media (prefers-reduced-motion: no-preference){nav.svelte-1h32yp1 #hosam-avatar:where(.svelte-1h32yp1){animation:vanish-outline 1s infinite alternate-reverse}}@media (prefers-reduced-motion){nav.svelte-1h32yp1 #hosam-avatar:where(.svelte-1h32yp1){outline:2px solid var(--text-color)}}main.svelte-12qhfyh{position:relative;min-height:85lvh;padding-inline:1rem}@media (min-width: 768px){main.svelte-12qhfyh{padding-inline:15vw}}
