@font-face{font-family:Zalando Sans Expanded;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/ac88027447e40dbf.0sw.mrs9w-sdg.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Zalando Sans Expanded;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/1ed9d077a25fe3c9.0zx.3zxznqq~n.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Zalando Sans Expanded;font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/8a8e905b499b18ab.p.01rub519~okd2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.zalando_sans_expanded_96c2c036-module__UUavEq__className{font-family:Zalando Sans Expanded;font-style:normal}.zalando_sans_expanded_96c2c036-module__UUavEq__variable{--font-display:"Zalando Sans Expanded"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.08hd0g.321csk.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.0x08jh8vondwt.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.0~wrfy7sm-h4g.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.0k_.i63k_i_qa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.16-z~2sp29ex6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.0m9hhkgdlzukj.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.0juuwbcf7uz~t.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.0qg7j5o.yrclm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0hkrq11n-dhos.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.07ig5l8azj~hy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_1056f34-module__sJl92a__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_1056f34-module__sJl92a__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--background:#f6f2ea;--foreground:#1b1815;--surface:#eeeae3;--accent:#1f6b66;--border:#d8d3c8;--border-strong:#1b1815;--muted:#7a7570;--primary:#1b1815;--primary-hover:#2a2520;--primary-text:#f6f2ea;--success:#22c55e;--success-bg:#22c55e1a;--warning:#f59e0b;--warning-bg:#f59e0b1a;--danger:#ef4444;--danger-bg:#ef44441a;--info:#3b82f6;--info-bg:#3b82f61a;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a;--transition-fast:.15s ease;--transition-normal:.25s ease}[data-theme=dark]{--background:#15130f;--foreground:#f0ede8;--surface:#1e1b15;--accent:#5cc9be;--border:#2c2820;--border-strong:#f0ede8;--muted:#948b7e;--primary:#f0ede8;--primary-hover:#c8b89a;--primary-text:#15130f}.text-heading-1{font-family:var(--font-display,system-ui, sans-serif);letter-spacing:-.02em;color:var(--foreground);font-size:clamp(2.5rem,7vw,5.25rem);font-weight:700;line-height:1.02}.text-heading-2{font-family:var(--font-display,system-ui, sans-serif);letter-spacing:-.01em;color:var(--foreground);font-size:clamp(1.25rem,3vw,2rem);font-weight:600;line-height:1.2}.text-body{color:var(--foreground);font-size:1rem;font-weight:400;line-height:1.6}.text-caption{color:var(--muted);font-size:.875rem;font-weight:400;line-height:1.4}.text-label{font-family:var(--font-mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:500}.text-mono{font-family:var(--font-mono,monospace);color:var(--muted);font-size:.875rem;font-weight:400}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.5s forwards fadeIn}.animate-fade-in-delay-1{animation:.5s .1s both fadeIn}.animate-fade-in-delay-2{animation:.5s .2s both fadeIn}.animate-fade-in-delay-3{animation:.5s .3s both fadeIn}.animate-fade-in-delay-4{animation:.5s .4s both fadeIn}.animate-fade-in-delay-5{animation:.5s .5s both fadeIn}body:before{content:"";pointer-events:none;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px;position:fixed;inset:0}:root body:before{opacity:.025}[data-theme=dark] body:before{opacity:.045}*{box-sizing:border-box}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.project-story{color:var(--foreground);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.7}.project-story>:first-child{margin-top:0}.project-story>:last-child{margin-bottom:0}.project-story p{margin:0 0 1.25rem}.project-story h2,.project-story h3{font-family:var(--font-display,system-ui, sans-serif);font-variation-settings:"wdth" 100;letter-spacing:-.02em;margin:2.5rem 0 .75rem;font-weight:600}.project-story h2{font-size:1.35rem}.project-story h3{font-size:1.1rem}.project-story ul,.project-story ol{margin:0 0 1.25rem;padding-left:1.25rem}.project-story li{margin-bottom:.4rem}.project-story a{color:var(--accent);border-bottom:1px solid var(--accent);text-decoration:none}.project-story code{font-family:var(--font-mono,monospace);background:color-mix(in srgb, var(--foreground) 8%, transparent);border-radius:var(--radius-sm);padding:1px 5px;font-size:.875em}.project-story pre{border:1px solid var(--border);border-radius:var(--radius-md);margin:0 0 1.25rem;padding:1rem;overflow-x:auto}.project-story pre code{background:0 0;padding:0}.project-story blockquote{border-left:2px solid var(--border);color:var(--muted);margin:0 0 1.25rem;padding-left:1rem}
