@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:wght@300;400;500&family=JetBrains+Mono:wght@400;500&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.visible{visibility:visible}.contents{display:contents}.flex{display:flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0f;--surface:#111118;--surface2:#16161f;--indigo:#5b4fe8;--indigo-dim:#3d34b0;--green:#1db584;--text:#f0f0ff;--text-muted:#7b7b9a;--border:#2a2a3a;--pipe-width:2px}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);cursor:none;font-family:Inter,sans-serif;overflow-x:hidden}.cursor{background:var(--indigo);pointer-events:none;z-index:9999;mix-blend-mode:screen;border-radius:50%;width:10px;height:10px;transition:transform .1s,width .2s,height .2s,background .2s;position:fixed;transform:translate(-50%,-50%)}.cursor-ring{pointer-events:none;z-index:9998;border:1px solid #5b4fe880;border-radius:50%;width:36px;height:36px;transition:transform .15s ease-out,width .3s,height .3s,opacity .3s;position:fixed;transform:translate(-50%,-50%)}body:before{content:"";opacity:.4;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");position:fixed;inset:0}.grid-bg{pointer-events:none;z-index:0;background-image:linear-gradient(#5b4fe808 1px,#0000 1px),linear-gradient(90deg,#5b4fe808 1px,#0000 1px);background-size:64px 64px;position:fixed;inset:0}.pipeline{width:var(--pipe-width);background:var(--border);z-index:100;position:fixed;top:0;bottom:0;left:24px;overflow:hidden}.pipeline-fill{background:linear-gradient(180deg, var(--indigo), var(--green));transform-origin:top;transition:transform 50ms linear;position:absolute;top:0;left:0;right:0;transform:scaleY(0)}.pipe-node{background:var(--bg);border:2px solid var(--border);z-index:101;border-radius:50%;width:12px;height:12px;transition:border-color .3s,background .3s;position:fixed;left:24px;transform:translate(-50%)translateY(-50%)}.pipe-node.active{border-color:var(--indigo);background:var(--indigo);box-shadow:0 0 16px var(--indigo)}.main-content{max-width:1200px;margin:0 auto;padding:0 48px 0 96px}.nav-wrapper{z-index:200;position:fixed;top:0;left:0;right:0}.nav-inner{justify-content:flex-end;align-items:center;gap:32px;max-width:1200px;margin:0 auto;padding:24px 48px 24px 96px;display:flex}.nav-wrapper:after{content:"";-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:-1;background:linear-gradient(#0a0a0fe6,#0000);position:absolute;inset:0;-webkit-mask:linear-gradient(#000 60%,#0000)}.nav-link{color:var(--text-muted);letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:12px;text-decoration:none;transition:color .2s}.nav-link:hover{color:var(--text)}.nav-hire{border:1px solid var(--indigo);color:var(--indigo);cursor:pointer;letter-spacing:.1em;background:0 0;border-radius:3px;padding:8px 20px;font-family:JetBrains Mono,monospace;font-size:12px;text-decoration:none;transition:background .2s,color .2s}.nav-hire:hover{background:var(--indigo);color:#fff}#hero{flex-direction:column;justify-content:center;min-height:100vh;padding:80px 0;display:flex;position:relative}.hero-eyebrow{color:var(--green);letter-spacing:.15em;opacity:0;margin-bottom:28px;font-family:JetBrains Mono,monospace;font-size:13px;animation:.6s .2s forwards fadeUp}.hero-name{letter-spacing:-.03em;margin-bottom:24px;font-family:Space Grotesk,sans-serif;font-size:clamp(52px,8vw,96px);font-weight:700;line-height:.95}.hero-name .line{display:block;overflow:hidden}.hero-name .word{animation:.7s cubic-bezier(.16,1,.3,1) forwards slideUp;display:inline-block;transform:translateY(110%)}.hero-name .word:first-child{animation-delay:.3s}.hero-name .word.outlined{color:#0000;-webkit-text-stroke:2px #5b4fe8d9;animation-delay:.45s}.hero-desc{color:var(--text-muted);opacity:0;max-width:480px;margin-bottom:40px;font-size:18px;line-height:1.7;animation:.6s .8s forwards fadeUp}.hero-stack{opacity:0;flex-wrap:wrap;gap:10px;margin-bottom:48px;animation:.6s 1s forwards fadeUp;display:flex}.stack-pill{border:1px solid var(--border);color:var(--text-muted);letter-spacing:.05em;border-radius:3px;padding:5px 12px;font-family:JetBrains Mono,monospace;font-size:11px;transition:border-color .2s,color .2s}.stack-pill:hover{border-color:var(--indigo);color:var(--text)}.hero-cta{opacity:0;gap:16px;animation:.6s 1.1s forwards fadeUp;display:flex}.btn-primary{background:var(--indigo);color:#fff;cursor:pointer;letter-spacing:-.01em;border:none;border-radius:4px;padding:14px 28px;font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition:background .2s,transform .1s;display:inline-block}.btn-primary:hover{background:var(--indigo-dim);transform:translateY(-1px)}.btn-ghost{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;border-radius:4px;padding:14px 28px;font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:500;text-decoration:none;transition:border-color .2s,color .2s;display:inline-block}.btn-ghost:hover{border-color:var(--text-muted);color:var(--text)}.hero-graphic{opacity:0;width:900px;height:662px;animation:1s 1.2s forwards fadeIn;position:absolute;top:50%;right:-250px;transform:translateY(-50%)}@media (max-width:1024px){.hero-graphic{width:560px;height:412px;right:-80px}}@media (max-width:768px){.hero-graphic{width:100%;height:340px;margin-top:2rem;position:relative;top:auto;right:auto;transform:none}}.hero-graphic svg{width:100%;height:100%}.scroll-indicator{opacity:0;flex-direction:column;align-items:center;gap:8px;animation:.6s 1.4s forwards fadeUp;display:flex;position:absolute;bottom:40px;left:0}.scroll-line{background:linear-gradient(180deg, var(--indigo), transparent);width:1px;height:60px;animation:2s ease-in-out infinite scrollLine}.scroll-text{color:var(--text-muted);letter-spacing:.2em;writing-mode:vertical-rl;font-family:JetBrains Mono,monospace;font-size:10px}.marquee-wrap{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:80px 0;padding:40px 0;overflow:hidden}.marquee-track{gap:64px;width:max-content;animation:20s linear infinite marquee;display:flex}.marquee-item{letter-spacing:-.02em;color:#5b4fe873;white-space:nowrap;font-family:Space Grotesk,sans-serif;font-size:32px;font-weight:700;transition:color .3s}.marquee-item:hover{color:var(--text)}.marquee-dot{background:var(--indigo);border-radius:50%;flex-shrink:0;align-self:center;width:8px;height:8px}section{padding:120px 0;position:relative}.section-label{color:var(--indigo);letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px;font-family:JetBrains Mono,monospace;font-size:12px}.section-title{letter-spacing:-.02em;margin-bottom:56px;font-family:Space Grotesk,sans-serif;font-size:clamp(32px,4vw,48px);font-weight:700;line-height:1.1}.section-title em{color:#0000;-webkit-text-stroke:1.5px #f0f0ff73;font-style:normal}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translate(-40px)}.reveal-left.visible{opacity:1;transform:translate(0)}.projects-grid{flex-direction:column;gap:2px;display:flex}.project-card{background:var(--surface);border:1px solid var(--border);cursor:default;border-radius:8px;grid-template-columns:1fr auto;align-items:start;gap:32px;padding:40px;transition:border-color .3s,transform .3s;display:grid;position:relative;overflow:hidden}.project-card:before{content:"";opacity:0;background:linear-gradient(135deg,#5b4fe80a,#0000);transition:opacity .3s;position:absolute;inset:0}.project-card:hover{border-color:#5b4fe866;transform:translate(4px)}.project-card:hover:before{opacity:1}.project-card.green-card:hover{border-color:#1db58466}.project-card.purple-card:hover{border-color:#9b4fe866}.project-card.other-card:hover{border-color:#5b4fe84d}.visit-btn{letter-spacing:.08em;cursor:pointer;z-index:1;background:0 0;border:1px solid;border-radius:4px;align-items:center;gap:8px;margin-top:20px;padding:9px 20px;font-family:JetBrains Mono,monospace;font-size:11px;text-decoration:none;transition:color .3s;display:inline-flex;position:relative;overflow:hidden}.visit-btn .ripple-bg{pointer-events:none;z-index:-1;border-radius:50%;animation:.6s ease-out forwards rippleExpand;position:absolute;transform:scale(0)}.visit-btn.indigo-btn{color:var(--indigo);border-color:#5b4fe866}.visit-btn.indigo-btn:hover{color:#fff;border-color:var(--indigo)}.visit-btn.green-btn{color:var(--green);border-color:#1db58466}.visit-btn.green-btn:hover{color:#fff;border-color:var(--green)}.visit-btn.purple-btn{color:#b47fec;border-color:#9b4fe866}.visit-btn.purple-btn:hover{color:#fff;border-color:#9b4fe8}@keyframes rippleExpand{to{opacity:0;transform:scale(4)}}.project-accent{background:linear-gradient(90deg, var(--indigo), transparent);height:2px;position:absolute;top:0;left:0;right:0}.project-accent.green{background:linear-gradient(90deg, var(--green), transparent)}.project-accent.purple{background:linear-gradient(90deg,#9b4fe8,#0000)}.project-num{color:var(--text-muted);letter-spacing:.1em;margin-bottom:12px;font-family:JetBrains Mono,monospace;font-size:11px}.project-name{letter-spacing:-.02em;margin-bottom:8px;font-family:Space Grotesk,sans-serif;font-size:28px;font-weight:700}.project-role{color:var(--indigo);letter-spacing:.1em;margin-bottom:16px;font-family:JetBrains Mono,monospace;font-size:11px}.project-role.green{color:var(--green)}.project-role.purple{color:#b47fec}.project-desc{color:var(--text-muted);max-width:560px;margin-bottom:24px;font-size:15px;line-height:1.7}.project-tags{flex-wrap:wrap;gap:8px;display:flex}.tag{color:#5b4fe8e6;letter-spacing:.05em;background:#5b4fe81a;border:1px solid #5b4fe833;border-radius:2px;padding:3px 8px;font-family:JetBrains Mono,monospace;font-size:10px}.tag.green{color:var(--green);background:#1db5841a;border-color:#1db58433}.tag.purple{color:#b47fec;background:#9b4fe81a;border-color:#9b4fe833}.project-stat{text-align:right}.stat-number{letter-spacing:-.03em;color:var(--indigo);opacity:.3;font-family:Space Grotesk,sans-serif;font-size:48px;font-weight:700;line-height:1}.stat-label{color:var(--text-muted);letter-spacing:.05em;font-size:11px}.more-projects-card{background:var(--surface);border:1px dashed var(--border);border-radius:8px;align-items:center;gap:24px;padding:40px;transition:border-color .3s;display:flex;position:relative;overflow:hidden}.more-projects-card:hover{border-color:#5b4fe866}.more-num{letter-spacing:-.04em;color:var(--indigo);opacity:.15;flex-shrink:0;font-family:Space Grotesk,sans-serif;font-size:64px;font-weight:700;line-height:1}.more-text h3{letter-spacing:-.02em;margin-bottom:8px;font-family:Space Grotesk,sans-serif;font-size:22px;font-weight:700}.more-text p{color:var(--text-muted);font-size:14px;line-height:1.6}.extensions-section{padding:32px 0 8px}.extensions-intro{margin-bottom:28px}.extensions-intro h3{letter-spacing:-.02em;font-family:Space Grotesk,sans-serif;font-size:28px}.extensions-intro h3 em{color:#0000;-webkit-text-stroke:1px #f0f0ff73;font-style:normal}.extension-category+.extension-category{margin-top:28px}.extension-category-title{color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:11px}.extension-grid{gap:2px;display:grid}.chrome-extension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vscode-extension-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.extension-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;min-height:180px;padding:22px;transition:border-color .3s,transform .3s}.extension-card:hover{border-color:#9b4fe873;transform:translateY(-3px)}.green-extension-card:hover{border-color:#1db58473}.extension-card-type{color:#b47fec;letter-spacing:.1em;margin-bottom:18px;font-family:JetBrains Mono,monospace;font-size:10px}.green-extension-card .extension-card-type{color:var(--green)}.extension-card h4{margin-bottom:10px;font-family:Space Grotesk,sans-serif;font-size:18px;line-height:1.1}.extension-card p{color:var(--text-muted);font-size:13px;line-height:1.55}.extension-marketplace-btn{color:#fff;letter-spacing:.03em;background:0 0;border:1px solid #9b4fe88c;border-radius:6px;align-items:center;margin-top:18px;padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;text-decoration:none;transition:background-color .2s,border-color .2s,transform .2s;display:inline-flex}.extension-marketplace-btn:hover{color:#fff;background:#9b4fe8;border-color:#9b4fe8;transform:translateY(-2px)}.extension-github-link{width:34px;height:34px;color:var(--text-muted);border:1px solid var(--border);background:0 0;border-radius:6px;justify-content:center;align-items:center;margin-top:24px;text-decoration:none;transition:color .2s,background .2s,border-color .2s,transform .15s;display:inline-flex}.extension-github-link:hover{color:#fff;background:#f0f0ff14;border-color:#f0f0ff4d;transform:translateY(-1px)}.skills-grid{background:var(--border);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(5,1fr);gap:1px;display:grid;overflow:hidden}.skill-cell-approach{background:var(--border);grid-column:1/-1;grid-template-columns:repeat(5,1fr);gap:1px;display:grid}@media (max-width:900px){.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-cell-approach{grid-column:1/-1;grid-template-columns:1fr}}.skill-cell{background:var(--surface);padding:28px 24px;transition:background .2s}.skill-cell:hover{background:var(--surface2)}.skill-category{color:var(--indigo);letter-spacing:.15em;margin-bottom:16px;font-family:JetBrains Mono,monospace;font-size:10px}.skill-items{flex-direction:column;gap:8px;display:flex}.skill-item{color:var(--text-muted);align-items:center;gap:10px;font-size:14px;transition:color .2s;display:flex}.skill-item:hover{color:var(--text)}.skill-dot{background:var(--indigo);border-radius:50%;flex-shrink:0;width:4px;height:4px}.skill-dot.green{background:var(--green)}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.about-img{aspect-ratio:3/4;background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.about-photo{object-fit:cover}.about-text p{color:var(--text-muted);margin-bottom:20px;font-size:16px;line-height:1.8}.about-text p strong{color:var(--text)}.stats-row{border-top:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;padding-top:40px;display:grid}.stat-item .num{letter-spacing:-.03em;color:var(--text);font-family:Space Grotesk,sans-serif;font-size:36px;font-weight:700}.stat-item .label{color:var(--text-muted);margin-top:4px;font-size:13px}#contact{padding:120px 0 160px}.contact-inner{border:1px solid var(--border);text-align:center;background:var(--surface);border-radius:8px;padding:80px;position:relative;overflow:hidden}.contact-inner:before{content:"";pointer-events:none;background:radial-gradient(circle,#5b4fe80f,#0000 70%);width:600px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-title{letter-spacing:-.03em;margin-bottom:20px;font-family:Space Grotesk,sans-serif;font-size:clamp(36px,5vw,64px);font-weight:700}.contact-sub{color:var(--text-muted);max-width:440px;margin-bottom:40px;margin-left:auto;margin-right:auto;font-size:17px;line-height:1.6}.contact-links{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:16px;margin-top:48px;padding-top:48px;display:flex}.contact-link{color:var(--text-muted);letter-spacing:.1em;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:12px;text-decoration:none;transition:color .2s;display:flex}.contact-link:hover{color:var(--text)}.contact-link:before{content:"→";color:var(--indigo)}footer{border-top:1px solid var(--border);padding:32px 0}.footer-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 48px 0 96px;display:flex}.footer-text{color:var(--text-muted);letter-spacing:.1em;font-family:JetBrains Mono,monospace;font-size:11px}@keyframes slideUp{to{transform:translateY(0)}}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{to{opacity:1}}@keyframes marquee{to{transform:translate(-50%)}}@keyframes scrollLine{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}@media (max-width:900px){.pipeline{left:24px;transform:none}.pipe-node{left:24px;transform:translate(-50%)translateY(-50%)}.main-content{padding:0 24px 0 60px}.nav-inner{padding:20px 24px}.about-grid{grid-template-columns:1fr}.about-img{display:none}.vscode-extension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-graphic{display:none}.footer-inner{padding:0 24px 0 60px}}@media (max-width:600px){.contact-inner{padding:40px 24px}.project-card{grid-template-columns:1fr}.project-stat{text-align:left}.chrome-extension-grid,.vscode-extension-grid{grid-template-columns:1fr}.extension-card{min-height:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
