:root{--display:"Google Sans Flex", system-ui, sans-serif;--body:"Hanken Grotesk", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--mono-alt:"IBM Plex Mono", ui-monospace, monospace;--sans:var(--body);--heading:var(--display);--bg:#0a0e14;--text:#8b98b0;--text-h:#fffdf9;--accent:#22d3ee;--accent-bg:#22d3ee1f;--accent-border:#22d3ee80;--border:#1a2130;--code-bg:#121826;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}body{background-color:#0000;margin:0;font-family:Space Grotesk,Helvetica Neue,Arial,sans-serif}html{scroll-behavior:smooth;background-color:#0e0d0c;transition:background-color .4s}html.scrolled{background-color:#fbf7f3}.container{box-sizing:border-box;width:100%;max-width:1400px;margin:0 auto;padding:0 24px}.project-container{box-sizing:border-box;background-color:#fffdf9;width:100%;max-width:1400px;margin:0 auto;padding:0 24px}.end-container{box-sizing:border-box;width:100%;max-width:1400px;margin:0 auto;padding:0 24px}.end-title{text-align:center;letter-spacing:1px;color:#7379e8;margin:0;padding-bottom:30px;font-family:IBM Plex Sans Condensed,sans-serif;font-size:15px;font-weight:400;transition:color .3s}.end-largeTitle{text-align:center;color:#fbf7f3;margin:0;padding-bottom:30px;font-family:Hanken Grotesk,sans-serif;font-size:60px;font-weight:800;transition:color .3s}.end-p{text-align:center;color:#c4bdb3;margin:0;padding-bottom:30px;font-family:Inter,sans-serif;font-size:25px;font-weight:300;transition:color .3s}.header-inner{box-sizing:border-box;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:100%;max-width:1400px;margin:0 auto;padding:20px 60px;transition:color .3s;display:flex}#root{text-align:center;box-sizing:border-box;border-inline:none;flex-direction:column;width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{font-family:var(--display);letter-spacing:.1px;font-size:75px;font-weight:700;line-height:.95}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{color:#c8c3bb;margin-bottom:20px;font-family:Inter,sans-serif;font-size:22px;font-weight:400;line-height:1.6}.standout-p{font-size:25px}.links-p,code{font-family:var(--mono);font-size:20px}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.code-space{display:block}.tight-spacing{margin-bottom:1px;line-height:1.3}.custom-color{color:#3b9eff}.no-underline{text-decoration:none}.project-card{background:#1e1e1e;border-radius:12px;flex-direction:column;padding:16px;transition:box-shadow .3s ease-in-out;box-shadow:0 4px 6px #0000001a}.project-card:hover{box-shadow:inset 3px 3px 6px #ccdbe8,inset -3px -3px 6px 1px #ffffff80}.card-header{border-bottom:1px solid var(--border);color:#f5f3ee;justify-content:space-between;align-items:flex-start;gap:12px;min-height:56px;margin-bottom:5px;display:flex}.card-header h3{font-family:var(--mono);letter-spacing:-.3px;font-size:20px;font-weight:600}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;flex-shrink:0;padding:6px 14px;font-family:Hanken Grotesk,sans-serif;font-size:15px}.badge-closed{color:#e0a458;background:#e0a4581a;border-color:#e0a45866}.badge-open{color:#9dbdc8;transition:color .3;background:#34424a;border-color:#59727c}.badge-open:hover{color:#b8d3dc;background:#3d5059;border-color:#6b8b96}.card-frame{border-radius:12px;padding:6px}.card-image{object-fit:cover;border-radius:8px;width:100%;height:200px;display:block}.card-body{color:#b8b5af;margin-top:24px;font-size:20px}.card-tagline{color:#f5f3ee;margin-bottom:12px;font-size:20px}.projects-grid{box-sizing:border-box;grid-template-columns:repeat(3,1fr);align-self:stretch;align-items:stretch;gap:28px;margin:60px auto;display:grid}.projects-grid .project-card:last-child{border-right:none;grid-column:2}.project-p{font-family:var(--mono);font-size:15px;line-height:1.6}.box{margin:clamp(10px,4vw,50px)}.hero-panel{text-align:left;-webkit-backdrop-filter:blur(3px);background:radial-gradient(#0a0e14b3 0%,#0a0e1400 75%);align-items:flex-start;gap:60px;width:100%;margin:0;display:flex}.hero-panel>div:first-child{flex:1}.project-card{box-shadow:0 4px 24px #00000080}.card-tagline{font-family:var(--mono);font-size:18px;font-weight:500}#projects{border-top:1px solid var(--border);min-height:100svh;padding:80px 0}#experience{background-color:#fbf7f3;border-top:1px solid #ccdbe8;min-height:100svh;margin-top:80px;padding:100px 0}#end{border-top:1px solid var(--border);background-color:#1a1815;min-height:60svh;padding:100px 0}#aboutme{border-top:1px solid #ccdbe8;min-height:100svh;padding:100px 0}.aboutme-block{text-align:left;background:#1a1815;border-radius:16px;gap:150px;max-width:1400px;padding:clamp(24px,4vw,56px)}.aboutme-block-title{text-align:left;color:#7379e8;margin:0;font-family:Inter,sans-serif;font-size:25px;font-weight:300;transition:color .3s}.aboutme-block-subtitle{text-align:left;color:#3a3a3a;padding-bottom:50px;font-family:Hanken Grotesk,sans-serif;font-size:40px;font-weight:600;transition:color .3s}.aboutme-p{color:#e8dfd3;max-width:1400px;font-family:Hanken Grotesk,sans-serif;font-size:25px;font-weight:400}.aboutme-p .highlight{color:var(--accent);font-weight:500}.experience-block{text-align:left;border-top:1px solid #c8c3bb;align-items:flex-start;gap:150px;margin-top:50px;padding-top:50px;font-size:30px;display:flex}.experience-block-title{color:#000;margin:0;font-family:JetBrains Mono,monospace;font-size:25px;font-weight:700;display:block}.experience-block-subtitle{color:#676565;max-width:800px;font-family:JetBrains Mono,monospace;font-size:18px;font-weight:300;display:block}.experience-block-timeline{white-space:nowrap;color:#4e1dee;text-align:left;flex:0 0 180px;font-family:Inter,sans-serif;font-size:20px;font-weight:400}.experience-block-content{flex-direction:column;line-height:30px}.experience-company{color:#524d45;margin:0;font-size:18px;font-weight:500}.experience-block-gap{padding-left:90px}.site-header{z-index:100;-webkit-backdrop-filter:blur();backdrop-filter:blur();background:0 0;border-bottom:1px solid #0000;transition:background .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s,border-color .3s;position:fixed;top:0;left:0;right:0}.site-header.scrolled{-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#cfcecd97}.logo,.navbar a{color:var(--text-h);transition:color .3s}.site-header.scrolled .logo,.site-header.scrolled .navbar a{color:#000}.site-header.scrolled .navbar a:hover{color:#fff}.navbar{flex-shrink:1;gap:50px;min-width:0;display:flex}.navbar a{color:var(--text-h);align-items:center;font-family:Hanken Grotesk,sans-serif;font-size:18px;font-weight:500;text-decoration:none;transition:color .2s;display:flex}.logo{min-width:0;color:var(--text-h);text-align:left;flex-shrink:1;align-items:center;gap:10px;font-family:Hanken Grotesk,sans-serif;font-size:20px;font-weight:600;text-decoration:none;transition:color .2s;display:flex}.logo-badge{border:1px solid var(--border);width:40px;height:40px;font-family:var(--mono);color:var(--text-h);background-color:#0a0e14;border-radius:8px;justify-content:center;align-items:center;font-size:16px;display:flex}@media (width<=768px){.logo-name{display:none}}.navbar-title{font-size:18px}.navbar a:hover{color:var(--accent)}.code-window{background-color:#1e1e1e;border-radius:8px;flex:1;max-width:520px;margin:0;font-family:Courier New,Courier,monospace;overflow:hidden;box-shadow:0 12px 24px #0000004d}@media (width<=900px){.hero-panel{flex-direction:column}.code-window{max-width:100%}}.window-header{background-color:#2d2d2d;align-items:center;padding:10px 15px;display:flex;position:relative}.window-buttons{gap:8px;display:flex}.btn{border-radius:50%;width:12px;height:12px;display:inline-block}.close{background-color:#ff5f56}.minimize{background-color:#ffbd2e}.maximize{background-color:#27c93f}.window-title{color:#9cdcfe;font-size:14px;position:absolute;left:50%;transform:translate(-50%)}.window-body{text-align:left;min-height:4.5em;margin:0;padding:20px;overflow-x:auto}.window-body-left{text-align:left;flex-direction:column;margin:0;padding:20px;display:flex;overflow-x:auto}.window-body pre{margin:0}.window-body code{color:#d4d4d4;white-space:pre-wrap;word-break:break-word;text-indent:-2ch;padding-left:2ch;font-size:18px;line-height:1.5}.stack-deco{color:#fff;border:1px solid #0000;border-radius:999px;flex-direction:row;width:fit-content;margin-bottom:8px;padding:6px 14px;font-family:Google Sans Flex,system-ui,sans-serif;font-size:20px;font-weight:300;display:flex}.stack-tags{flex-wrap:wrap;gap:8px;display:flex}.calendar-wrap{max-width:100%;overflow-x:auto}.code-deco{color:#000;white-space:nowrap;border:1px solid #0000;border-color:var(--accent-border);background-color:#fff9ea;border-radius:999px;flex-direction:row;flex-shrink:0;width:fit-content;margin-bottom:8px;padding:6px 14px;font-family:Google Sans Flex,system-ui,sans-serif;font-size:20px;font-weight:300;display:grid}.keyword{color:#dcdcaa}.property{color:#9cdcfe}@keyframes moveAndBack{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:translate(0)}}.project-title{text-align:left;color:#0000;font-family:Inter,sans-serif;font-size:25px;font-weight:300;transition:color .3s}.project-subtitle{text-align:left;color:#0000;font-family:Hanken Grotesk,sans-serif;font-size:40px;font-weight:600;transition:color .3s}.experience-title{text-align:left;color:#7379e8;font-family:Inter,sans-serif;font-size:25px;font-weight:300;transition:color .3s}.experience-subtitle{text-align:left;color:#1a1a1a;font-family:Hanken Grotesk,sans-serif;font-size:40px;font-weight:600;transition:color .3s}#projects.scrolled .project-title{color:#7379e8;animation:.4s moveAndBack}#projects.scrolled .project-subtitle{color:#1a1a1a;animation:.4s .1s backwards moveAndBack}#experience.scrolled .experience-title,#experience.scrolled .experience-subtitle{animation:.4s .1s backwards moveAndBack}.var-highlight{color:#c0ad60}.string-highlight{color:#cadafccc}#typewriter{white-space:pre;text-align:left;font-family:var(--mono);margin:0;font-size:15px;display:block}#typewriter:after{content:"|";animation:.5s linear infinite alternate blink}@keyframes blink{0%{opacity:0}to{opacity:1}}#typewriter code,.window-body pre code{white-space:pre;text-align:left;text-indent:0;display:block}.get-in-touch{color:#000;text-align:center;box-sizing:border-box;background-color:#0000;border:2px solid #0474c4;border-radius:40px;justify-content:center;align-items:center;padding:10px;transition:background-color .3s,color .3s,border .3s;display:flex}.navbar a.get-in-touch:hover{color:#fff;background-color:#0474c4;border-color:#0474c4}.get-in-touch.scrolled{color:#000;border:2px solid #000}.tag-pills{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:32px;display:flex}.tag-pill{font-family:var(--mono);color:#7379e8;white-space:nowrap;background:0 0;border:1px solid #7379e866;border-radius:999px;margin-bottom:8px;margin-right:12px;padding:8px 18px;font-size:14px;transition:border-color .2s,background .2s}.tag-pill:hover{background:#7379e814;border-color:#7379e8cc}.tag-label{font-family:var(--mono);color:#8a857e;font-size:14px}.site-footer{background-color:#161512;padding:40px 0}.site-footer .container{justify-content:space-between;align-items:center;gap:20px;display:flex}.site-footer p{color:var(--text);margin:0;font-size:15px}.footer-links{gap:24px;display:flex}.footer-links a{color:var(--text);font-size:15px;text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--accent)}.contact-section{background-color:#0d0d0f;background-image:radial-gradient(circle,#ffffff12 1px,#0000 1px);background-size:28px 28px}@media (width<=768px){h1{font-size:40px}.end-largeTitle{font-size:36px}.aboutme-block-subtitle,.project-subtitle,.experience-subtitle{font-size:28px}.experience-block{flex-direction:column;gap:16px;font-size:20px}.aboutme-block{gap:24px}.header-inner{padding:12px 16px}.logo{gap:6px;font-size:16px}.logo span:last-child{display:none}.navbar{gap:16px}.navbar a{font-size:14px}.get-in-touch{padding:6px 12px}}@media (width<=1300px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.projects-grid{grid-template-columns:1fr}}#center{box-sizing:border-box}section{scroll-margin-top:var(--header-h)}.header-spacer{flex-shrink:0;height:90px}.hero-panel .code-window{margin-top:20px}.background-canvas{z-index:-1;pointer-events:none;position:fixed;inset:0}#title{min-height:1.2em}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{box-sizing:border-box;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;max-width:1400px;min-height:100svh;margin:0 auto;padding:0 24px;display:flex}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}
