@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.0mrjj4bg00-he.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.3ms9vq719j3f8.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__iaM1Ya__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__iaM1Ya__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
:root{--background:#f5f2ee;--foreground:#0d0d0d;--secondary-bg:#edeae5;--surface:#e8e4df;--border:#c8c2ba;--border-strong:#0d0d0d;--text-primary:#0d0d0d;--text-secondary:#4a4540;--text-dim:#8a847c;--accent:#0d0d0d;--accent-line:#0d0d0d;--font-sans:var(--font-geist-sans), system-ui, -apple-system, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, monospace;--transition-speed:.4s;--transition-timing:cubic-bezier(.4, 0, .2, 1)}.dark{--background:#080808;--foreground:#f0ede8;--secondary-bg:#0f0f0f;--surface:#161616;--border:#252525;--border-strong:#f0ede8;--text-primary:#f0ede8;--text-secondary:#a09890;--text-dim:#504a44;--accent:#f0ede8;--accent-line:#f0ede8}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-speed) var(--transition-timing), color var(--transition-speed) var(--transition-timing), border-color var(--transition-speed) var(--transition-timing);scroll-behavior:smooth;font-size:14px;font-weight:400;line-height:1.6;overflow-x:clip}@media (min-width:375px){html,body{font-size:15px}}@media (min-width:768px){html,body{font-size:17px}}@media (min-width:1536px){html,body{font-size:19px}}body{flex-direction:column;width:100%;min-height:100vh;display:flex;position:relative}h1,h2,h3{color:var(--text-primary);transition:color var(--transition-speed) var(--transition-timing);font-weight:500}p{color:var(--text-secondary);transition:color var(--transition-speed) var(--transition-timing);font-weight:400}a{color:inherit;transition:all var(--transition-speed) var(--transition-timing);text-decoration:none}a:hover{color:var(--text-primary)}.container{box-sizing:border-box;width:100%;max-width:760px;margin:0 auto;padding:0 1.5rem 5rem;overflow-x:hidden}@media (min-width:768px){.container{max-width:800px;padding:0 2.5rem 5rem}}@media (min-width:1920px){.container{max-width:900px}}.section{padding-top:clamp(2rem,8vw,6rem)}@media (min-width:1536px){.section{padding-top:10rem}}.card{border-bottom:1px solid var(--border);padding:1.75rem 0;transition:transform .3s,border-color .3s;display:block;position:relative}@media (min-width:1024px){.card:hover{border-color:var(--text-primary);transform:translate(8px)}.card:after{content:"→";opacity:0;color:var(--text-primary);font-family:var(--font-mono);transition:all .3s;position:absolute;top:50%;right:0;transform:translateY(-50%)translate(20px)}.card:hover:after{opacity:1;transform:translateY(-50%)translate(0)}}.card:last-child{border-bottom:none}.badge{border:1px solid var(--border);color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;background:var(--secondary-bg);margin-bottom:.5rem;margin-right:.5rem;padding:.25rem .65rem;font-size:12px;transition:all .2s;display:inline-block}.badge:hover{border-color:var(--text-primary);color:var(--text-primary)}.mono{font-family:var(--font-mono);color:var(--text-dim);letter-spacing:.02em;font-size:.85rem;font-weight:400}.section-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.18em;color:var(--text-dim);align-items:center;gap:1.5rem;margin-bottom:2rem;font-size:.7rem;display:flex}@media (min-width:768px){.section-label{margin-bottom:3.5rem}}.section-label:after{content:"";background:linear-gradient(to right, var(--border), transparent);flex:1;height:1px}.hr{background:var(--border);border:none;height:1px;margin:2rem 0}@media (min-width:768px){.hr{margin:3.5rem 0}}.hover-slide{transition:transform .2s,color .2s;display:inline-block}.hover-slide:hover{color:var(--text-primary)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}@keyframes reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-reveal{opacity:0;animation:.8s cubic-bezier(.16,1,.3,1) forwards reveal}.reveal-delay-1{animation-delay:.15s}.reveal-delay-2{animation-delay:.3s}.reveal-delay-3{animation-delay:.5s}::selection{background:var(--text-primary);color:var(--background)}.github-cta{border:1px solid var(--text-primary);color:var(--text-primary);font-family:var(--font-mono);letter-spacing:.05em;background-color:#0000;align-items:center;gap:1rem;padding:1rem 2rem;font-size:14px;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.github-cta:before{content:"";background:var(--text-primary);z-index:-1;width:100%;height:100%;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0;transform:translateY(100%)}.github-cta:hover{color:var(--background)}.github-cta:hover:before{transform:translateY(0)}.mobile-only{display:block}@media (min-width:768px){.mobile-only{display:none}}.desktop-only{display:none}@media (min-width:768px){.desktop-only{display:block}}@media (max-width:767px){.responsive-stack{grid-template-columns:1fr!important;gap:1.5rem!important}}.glass{background:rgba(var(--background-rgb,245, 242, 238), .7);-webkit-backdrop-filter:blur(12px)saturate(180%)}.dark .glass{background:#080808b3}
