*,:before,:after{box-sizing:border-box;border-style:solid;border-width:0;border-color:var(--un-default-border-color,#e5e7eb)}:before,:after{--un-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*,:before,:after,::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 #0000;--un-ring-shadow:0 0 #0000;--un-shadow-inset: ;--un-shadow:0 0 #0000;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:#93c5fd80;--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }.wrapper{width:100%;max-width:100vw;margin-left:auto;margin-right:auto}.project-title{font-size:clamp(1.56rem,1.46rem + .43vw,1.78rem);line-height:1.1}.small{--un-text-opacity:1;color:rgb(85 80 74/var(--un-text-opacity)) ;font-size:clamp(.75rem,.72rem + .13vw,.875rem);line-height:1.4}.subtitle{--un-text-opacity:1;color:rgb(85 80 74/var(--un-text-opacity)) ;font-size:clamp(1.25rem,1.21rem + .16vw,1.33rem);line-height:1.3}.subtitle-small{--un-text-opacity:1;color:rgb(85 80 74/var(--un-text-opacity)) ;font-size:clamp(.9rem,.87rem + .13vw,1rem);font-style:italic;line-height:1.6}.title{font-size:clamp(1.95rem,1.77rem + .79vw,2.37rem);line-height:1.2}.dark .small,.dark .subtitle,.dark .subtitle-small{--un-text-opacity:1;color:rgb(204 197 185/var(--un-text-opacity)) }.dark .title{--un-text-opacity:1;color:rgb(243 238 227/var(--un-text-opacity)) }@media (width>=768px){.wrapper{max-width:calc(100vw - 100px)}}@media (width>=1280px){.wrapper{max-width:1120px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.after\:absolute:after{position:absolute}.after\:inset-0:after{inset:0}.left-0{left:0}.left-1\/2{left:50%}.top-0{top:0}.top-1\/2{top:50%}.isolate{isolation:isolate}.z-\[2147483647\]{z-index:2147483647}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.mx-0{margin-left:0;margin-right:0}.mx-auto{margin-left:auto;margin-right:auto}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mb-1{margin-bottom:.25rem}.mb-4{margin-bottom:1rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.hidden{display:none}.h-0{height:0}.h-1{height:.25rem}.h-16{height:4rem}.h-3,.h3{height:.75rem}.h2{height:.5rem}.max-h-full{max-height:100%}.max-w-full{max-width:100%}.w-0{width:0}.w-1{width:.25rem}.w-3{width:.75rem}.w-full{width:100%}.flex{display:flex}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.-translate-x-\[150\%\]{--un-translate-x:-150%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.-translate-x-1\/2{--un-translate-x:-50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.-translate-y-\[150\%\]{--un-translate-y:-150%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.-translate-y-1\/2{--un-translate-y:-50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.translate-x-1\/2{--un-translate-x:50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.translate-y-1\/2{--un-translate-y:50%;transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.transform{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z))}.resize{resize:both}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-8{gap:2rem}.b,.border,.border-1{border-width:1px}.border-\[3px\]{border-width:3px}.border-x-1{border-left-width:1px;border-right-width:1px}.border-b-0{border-bottom-width:0}.border-b-1{border-bottom-width:1px}.border-l-0{border-left-width:0}.border-l-1{border-left-width:1px}.border-r-0{border-right-width:0}.border-r-1{border-right-width:1px}.border-t-0{border-top-width:0}.border-t-1{border-top-width:1px}.border-gray-200{--un-border-opacity:1;border-color:rgb(228 222 210/var(--un-border-opacity))}.border-gray-300{--un-border-opacity:1;border-color:rgb(204 197 185/var(--un-border-opacity))}.border-gray-400{--un-border-opacity:1;border-color:rgb(176 168 154/var(--un-border-opacity))}.dark .dark\:border-gray-800,.hover\:border-gray-800:hover{--un-border-opacity:1;border-color:rgb(64 61 57/var(--un-border-opacity))}.border-x-gray-200{--un-border-opacity:1;--un-border-left-opacity:var(--un-border-opacity);border-left-color:rgb(228 222 210/var(--un-border-left-opacity));--un-border-right-opacity:var(--un-border-opacity);border-right-color:rgb(228 222 210/var(--un-border-right-opacity))}.rounded-full{border-radius:9999px}.bg-gray-900,.dark .dark\:bg-gray-900{--un-bg-opacity:1;background-color:rgb(37 36 34/var(--un-bg-opacity)) }.hover\:bg-gray-50:hover{--un-bg-opacity:1;background-color:rgb(250 247 239/var(--un-bg-opacity)) }.hover\:bg-gray-900:hover{--un-bg-opacity:1;background-color:rgb(37 36 34/var(--un-bg-opacity)) }.object-contain{object-fit:contain}.p-12\.5{padding:3.125rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px,.px-4{padding-left:1rem;padding-right:1rem}.px-0{padding-left:0;padding-right:0}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12\.5{padding-top:3.125rem;padding-bottom:3.125rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pt-3{padding-top:.75rem}.pt-8{padding-top:2rem}.text-center{text-align:center}.text-right{text-align:right}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.text-12{font-size:3rem}.text-20{font-size:5rem}.text-5{font-size:1.25rem}.text-8{font-size:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.c-gray-200,.dark .dark\:c-gray-200{--un-text-opacity:1;color:rgb(228 222 210/var(--un-text-opacity)) }.c-gray-400{--un-text-opacity:1;color:rgb(176 168 154/var(--un-text-opacity)) }.c-gray-500{--un-text-opacity:1;color:rgb(139 131 120/var(--un-text-opacity)) }.c-gray-600{--un-text-opacity:1;color:rgb(111 105 96/var(--un-text-opacity)) }.c-gray-700{--un-text-opacity:1;color:rgb(85 80 74/var(--un-text-opacity)) }.c-gray-800{--un-text-opacity:1;color:rgb(64 61 57/var(--un-text-opacity)) }.hover\:c-gray-200:hover{--un-text-opacity:1;color:rgb(228 222 210/var(--un-text-opacity)) }.hover\:c-gray-900:hover{--un-text-opacity:1;color:rgb(37 36 34/var(--un-text-opacity)) }.fw-600{font-weight:600}.fw-bold{font-weight:700}.leading-\[1\.2\]{line-height:1.2}.leading-20{line-height:5rem}.leading-8{line-height:2rem}.leading-none{line-height:1}.leading-snug{line-height:1.375}.tracking-widest{letter-spacing:.1em}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.invert{--un-invert:invert(1);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease{transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:content-\[\'\'\]:after{content:""}@media (width>=768px){.md\:grid{display:grid}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:hidden{display:none}.md\:w-85\%{width:85%}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:px-12\.5{padding-left:3.125rem;padding-right:3.125rem}.md\:px-4{padding-left:1rem;padding-right:1rem}.md\:py-12{padding-top:3rem;padding-bottom:3rem}.md\:text-10{font-size:2.5rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (width>=1024px){.lg\:grid-cols-\[3fr_1fr\]{grid-template-columns:3fr 1fr}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:my-0{margin-top:0;margin-bottom:0}.lg\:w-80\%{width:80%}.lg\:w-auto{width:auto}.lg\:justify-center{justify-content:center}.lg\:text-12{font-size:3rem}.lg\:text-16{font-size:4rem}.lg\:text-20{font-size:5rem}}:root{--c-paper:#fffcf2;--c-paper-2:#f7f2e6;--c-paper-3:#efe9dc;--c-silver-light:#e2dcd1;--c-silver:#ccc5b9;--c-silver-dark:#a9a193;--c-brown:#403d39;--c-brown-deep:#2b2926;--c-ink:#252422;--c-text:var(--c-brown);--c-text-strong:var(--c-ink);--c-text-muted:#6f6960;--c-text-faint:var(--c-silver-dark);--c-text-invert:var(--c-paper);--c-surface:var(--c-paper);--c-surface-raised:var(--c-paper-2);--c-surface-sunken:var(--c-paper-3);--c-surface-dark:var(--c-brown-deep);--c-surface-dark-2:#37332e;--c-line:var(--c-silver);--c-line-soft:var(--c-silver-light);--c-line-strong:var(--c-brown);--c-line-on-dark:#ccc5b938;--c-line-on-dark-strong:#ccc5b973;--c-accent:#ccc5b9;--c-accent-bright:#ece5d8;--c-accent-dim:#ccc5b9b8;--c-beam:#8d7a5f}html{scroll-behavior:smooth;height:100%}html,body{background-color:var(--c-surface);min-height:100vh;color:var(--c-text);font-family:Georgia,serif;font-size:16px}body{flex-flow:column;display:flex}body>main{flex:1}::selection{background:var(--c-silver);color:var(--c-ink)}#page-loader{z-index:99999;background:var(--c-surface);flex-direction:column;justify-content:center;align-items:center;gap:2rem;transition:opacity .6s,visibility .6s;display:flex;position:fixed;inset:0;overflow:hidden}#page-loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-name{letter-spacing:.25em;color:var(--c-ink);font-family:Orbitron,sans-serif;font-size:clamp(2.5rem,10vw,6rem);font-weight:700;animation:1s cubic-bezier(.16,1,.3,1) forwards loader-reveal}.loader-arabic{letter-spacing:0;opacity:0;pointer-events:none;color:#403d3912;z-index:-1;direction:rtl;font-family:Amiri,serif;font-size:clamp(6rem,30vw,20rem);line-height:1;animation:.9s cubic-bezier(.16,1,.3,1) .2s forwards loader-reveal;position:absolute;top:-.1em;right:-.05em}@keyframes loader-reveal{0%{clip-path:inset(0 100% 0 0);opacity:0}to{clip-path:inset(0 0% 0 0);opacity:1}}.loader-bar{background:var(--c-line);width:min(200px,40vw);height:1px;overflow:hidden}.loader-fill{background:var(--c-brown);width:0%;height:100%;animation:1.4s cubic-bezier(.4,0,.2,1) .2s forwards loader-progress}@keyframes loader-progress{0%{width:0%}to{width:100%}}@media (hover:hover) and (pointer:fine){*,:before,:after{cursor:none!important}}*{-webkit-overflow-scrolling:touch}[data-animate].is-animating{will-change:opacity, transform}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.content-wrapper{& :is(h2,h3,h4,h5,h6){margin-top:1ex;font-weight:600}& p{margin-top:1ex}& h2{font-size:1.875rem}& h3{font-size:1.5rem}& h4{font-size:1.35rem}& h5,& h6{font-size:1.1rem;font-weight:500}& ul{margin-top:1ex;list-style-type:square;list-style-position:inside}& pre{margin-top:1ex;padding-block:1.5rem}}@media (width>=768px){.ascii-container pre{font-size:4px;line-height:4px}}
