:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}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%}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#fff;background:#08111f;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}.hero{background:radial-gradient(circle at 100% 0,#38bdf82e,#0000 35%),linear-gradient(135deg,#08111f 0%,#0f172a 55%,#111827 100%);justify-content:center;align-items:center;min-height:100vh;padding:40px 24px;display:flex}.hero-content{text-align:center;max-width:900px}.eyebrow{color:#38bdf8;letter-spacing:2px;text-transform:uppercase;margin-bottom:18px;font-size:.95rem;font-weight:700}h1{margin:0;font-size:clamp(3rem,8vw,5.5rem);line-height:1}h2{color:#38bdf8;margin:20px 0;font-size:clamp(1.6rem,4vw,2.5rem)}.intro{color:#cbd5e1;max-width:760px;margin:0 auto 32px;font-size:1.15rem;line-height:1.8}.buttons{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.buttons a{border-radius:8px;padding:14px 26px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block}.buttons a:hover{transform:translateY(-2px)}.primary-button{color:#08111f;background:#38bdf8}.primary-button:hover{box-shadow:0 10px 30px #38bdf840}.secondary-button{color:#38bdf8;border:1px solid #38bdf8}.secondary-button:hover{box-shadow:0 10px 30px #38bdf826}.articles-section{background:radial-gradient(circle at 0 100%,#38bdf814,#0000 30%),#08111f;padding:96px 24px}.section-container{width:min(1100px,100%);margin:0 auto}.articles-section h2{text-align:center;margin:0 0 36px}.articles-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.article-card{background:#0f172ac7;border:1px solid #38bdf82e;border-radius:18px;flex-direction:column;min-height:320px;padding:32px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;box-shadow:0 18px 50px #00000038}.article-card:hover{border-color:#38bdf88c;transform:translateY(-4px);box-shadow:0 24px 60px #0000004d}.article-card h3{color:#fff;margin:0 0 18px;font-size:1.45rem;line-height:1.4}.article-card p{color:#cbd5e1;margin:0 0 28px;font-size:1rem;line-height:1.75}.article-link{color:#38bdf8;width:fit-content;margin-top:auto;font-weight:700;text-decoration:none;transition:color .2s,transform .2s}.article-link:hover{color:#7dd3fc;transform:translate(3px)}@media (width<=768px){.hero{padding:32px 20px}.articles-section{padding:72px 20px}.articles-grid{grid-template-columns:1fr}.article-card{min-height:auto;padding:26px}}.navbar{z-index:100;-webkit-backdrop-filter:blur(10px);background:#08111fd9;border-bottom:1px solid #38bdf826;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:18px 24px;display:flex}.navbar-logo{color:#fff;letter-spacing:.5px;font-size:1.25rem;font-weight:700;text-decoration:none}.navbar-logo span{color:#38bdf8}.navbar-links{align-items:center;gap:32px;display:flex}.navbar-links a{color:#cbd5e1;font-size:.95rem;font-weight:500;text-decoration:none;transition:color .2s}.navbar-links a:hover{color:#38bdf8}.navbar-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:0;display:none}.navbar-toggle span{background:#fff;border-radius:2px;width:100%;height:2px;transition:transform .25s,opacity .25s;display:block}.navbar-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.navbar-toggle.is-open span:nth-child(2){opacity:0}.navbar-toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=768px){.navbar-toggle{display:flex}.navbar-links{background:#0b1526;border-bottom:1px solid #38bdf826;flex-direction:column;align-items:flex-start;gap:0;max-height:0;transition:max-height .3s;position:absolute;top:100%;left:0;right:0;overflow:hidden}.navbar-links.is-open{max-height:400px}.navbar-links a{border-top:1px solid #38bdf814;width:100%;padding:16px 24px}}.hero{background:linear-gradient(135deg,#08111f 0%,#0f172a 55%,#111827 100%);justify-content:center;align-items:center;min-height:calc(100vh - 68px);padding:56px 24px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;background-color:#0000;background-image:radial-gradient(circle at 100% 0,#38bdf833,#0000 40%),radial-gradient(circle at 0 100%,#38bdf81f,#0000 45%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:140% 140%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;animation:18s ease-in-out infinite hero-drift;position:absolute;inset:0}@keyframes hero-drift{0%{background-position:0 0}50%{background-position:100% 60%}to{background-position:0 0}}.hero-content{z-index:1;text-align:center;width:100%;max-width:920px;animation:.9s both hero-fade-in;position:relative}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-bg,.hero-content{animation:none}}.hero .eyebrow{color:#38bdf8;letter-spacing:2px;text-transform:uppercase;margin-bottom:18px;font-size:.95rem;font-weight:700}.hero .badge{color:#7dd3fc;letter-spacing:.3px;background:#38bdf814;border:1px solid #38bdf859;border-radius:999px;margin-bottom:24px;padding:8px 18px;font-size:.85rem;font-weight:600;display:inline-block}.hero h1{color:#fff;letter-spacing:-1px;margin:0;font-size:clamp(3rem,8vw,5.5rem);line-height:1.05}.hero h2{color:#38bdf8;margin:18px 0 0;font-size:clamp(1.6rem,4vw,2.5rem);font-weight:600}.hero .intro{color:#cbd5e1;max-width:760px;margin:28px auto 40px;font-size:1.15rem;line-height:1.85}.hero .buttons{flex-direction:column;align-items:center;gap:16px;margin-bottom:56px;display:flex}.hero .button-row{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:18px;width:100%;display:flex}.hero .buttons a{box-sizing:border-box;text-align:center;border-radius:10px;justify-content:center;align-items:center;padding:16px 32px;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .25s,box-shadow .25s,background .25s,color .25s;display:inline-flex}.hero .buttons a:hover{transform:translateY(-3px)}.hero .buttons a:focus-visible{outline-offset:4px;outline:2px solid #7dd3fc}.hero .primary-button{color:#08111f;background:#38bdf8}.hero .primary-button:hover{box-shadow:0 14px 34px #38bdf84d}.hero .secondary-button{color:#38bdf8;border:1px solid #38bdf8}.hero .secondary-button:hover{background:#38bdf81a;box-shadow:0 14px 34px #38bdf82e}.hero .download-row{margin-top:4px}.hero .buttons a.download-choice{flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:240px;padding:14px 26px;display:inline-flex}.hero .download-choice span{font-size:.95rem;font-weight:700}.hero .download-choice small{color:#cbd5e1;letter-spacing:.2px;font-size:.75rem;font-weight:400}.stats{grid-template-columns:repeat(4,1fr);gap:16px;max-width:760px;margin:0 auto;display:grid}.stat-card{background:#38bdf80d;border:1px solid #38bdf826;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;transition:transform .2s,border-color .2s;display:flex}.stat-card:hover{border-color:#38bdf866;transform:translateY(-3px)}.stat-value{color:#38bdf8;font-size:1.4rem;font-weight:700}.stat-label{color:#cbd5e1;text-align:center;font-size:.82rem}@media (width<=640px){.stats{grid-template-columns:repeat(2,1fr)}.hero .button-row{flex-direction:column;align-items:stretch}.hero .buttons a{width:100%}.hero .buttons a.download-choice{min-width:0}.hero .intro{font-size:1rem;line-height:1.7}}@media (prefers-reduced-motion:reduce){.hero .buttons a,.stat-card{transition:none}}.about{background:#0f172a;border-top:1px solid #38bdf81a;padding:100px 24px}.about-content{text-align:center;max-width:800px;margin:0 auto}.about h2{color:#fff;margin:0 0 28px;font-size:clamp(2rem,4vw,2.75rem);font-weight:600}.about h2:after{content:"";background:#38bdf8;border-radius:2px;width:60px;height:3px;margin:16px auto 0;display:block}.about p{color:#cbd5e1;margin:0 0 20px;font-size:1.05rem;line-height:1.85}.about p:last-child{margin-bottom:0}@media (width<=600px){.about{padding:72px 20px}}.skills{background:#08111f;border-top:1px solid #38bdf81a;padding:100px 24px}.skills-content{max-width:1100px;margin:0 auto}.skills h2{text-align:center;color:#fff;margin:0 0 48px;font-size:clamp(2rem,4vw,2.75rem);font-weight:600}.skills h2:after{content:"";background:#38bdf8;border-radius:2px;width:60px;height:3px;margin:16px auto 0;display:block}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:24px;display:grid}.skill-card{background:#38bdf80d;border:1px solid #38bdf826;border-radius:12px;min-width:0;padding:24px;transition:transform .2s,border-color .2s}.skill-card:hover{border-color:#38bdf866;transform:translateY(-4px)}.skill-card h3{color:#38bdf8;letter-spacing:.3px;margin:0 0 16px;font-size:1.05rem;font-weight:700}.skill-card ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.skill-card li{color:#cbd5e1;background:#cbd5e114;border:1px solid #cbd5e11f;border-radius:6px;padding:6px 12px;font-size:.9rem}@media (width<=900px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.skills{padding:72px 20px}.skills-grid{grid-template-columns:1fr}}.experience{background:#0f172a;border-top:1px solid #38bdf81a;padding:100px 24px}.experience-content{max-width:800px;margin:0 auto}.experience h2{text-align:center;color:#fff;margin:0 0 48px;font-size:clamp(2rem,4vw,2.75rem);font-weight:600}.experience h2:after{content:"";background:#38bdf8;border-radius:2px;width:60px;height:3px;margin:16px auto 0;display:block}.timeline{border-left:2px solid #38bdf840;padding-left:32px;position:relative}.timeline-item{margin-bottom:40px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-marker{background:#08111f;border:2px solid #38bdf8;border-radius:50%;width:14px;height:14px;position:absolute;top:6px;left:-39px;box-shadow:0 0 0 4px #38bdf81f}.timeline-card{background:#38bdf80d;border:1px solid #38bdf826;border-radius:12px;padding:24px;transition:border-color .2s}.timeline-card:hover{border-color:#38bdf866}.timeline-card h3{color:#fff;margin:0 0 4px;font-size:1.2rem;font-weight:600}.timeline-org{color:#38bdf8;margin:0 0 14px;font-size:.95rem;font-weight:600}.timeline-description{color:#cbd5e1;margin:0;font-size:.98rem;line-height:1.75}.timeline-tech{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.timeline-tech li{color:#cbd5e1;background:#cbd5e114;border:1px solid #cbd5e11f;border-radius:6px;padding:5px 10px;font-size:.85rem}@media (width<=600px){.experience{padding:72px 20px}.timeline{padding-left:24px}.timeline-marker{left:-31px}.timeline-card{padding:18px}}.projects{background:#08111f;border-top:1px solid #38bdf81a;padding:100px 24px}.projects-content{max-width:1100px;margin:0 auto}.projects h2{text-align:center;color:#fff;margin:0 0 48px;font-size:clamp(2rem,4vw,2.75rem);font-weight:600}.projects h2:after{content:"";background:#38bdf8;border-radius:2px;width:60px;height:3px;margin:16px auto 0;display:block}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px;display:grid}.project-card{background:linear-gradient(160deg,#38bdf814,#38bdf805);border:1px solid #38bdf82e;border-radius:18px;flex-direction:column;padding:40px;transition:transform .3s,border-color .3s,box-shadow .3s;display:flex;box-shadow:0 12px 28px #08111f59}.project-card:hover{border-color:#38bdf880;transform:translateY(-8px);box-shadow:0 28px 56px #08111f8c,0 0 0 1px #38bdf81f}.project-card h3{color:#fff;text-align:center;margin:0 0 12px;font-size:1.4rem;font-weight:700;line-height:1.25}.project-description{color:#cbd5e1;text-align:center;margin:0 0 28px;font-size:1rem;line-height:1.7}.project-feature-columns{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:18px;margin:0 0 32px;display:grid}.project-features{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.project-features li{color:#e2e8f0;text-align:left;align-items:flex-start;gap:6px;min-width:0;margin:0;font-size:.88rem;line-height:1.35;display:flex}.project-features li span{flex:1;min-width:0;display:block}.feature-check{color:#38bdf8;flex-shrink:0;width:16px;min-width:16px;height:16px;margin-top:1px}.project-badges{border-top:1px solid #38bdf81f;flex-wrap:wrap;gap:8px;margin:0 0 32px;padding:20px 0 0;list-style:none;display:flex}.project-badges li{color:#38bdf8;background:#38bdf81a;border:1px solid #38bdf840;border-radius:6px;padding:6px 12px;font-size:.82rem;font-weight:600;transition:background .2s,border-color .2s}.project-card:hover .project-badges li{background:#38bdf829;border-color:#38bdf866}.project-links{border-top:1px solid #38bdf81f;flex-wrap:wrap;gap:12px;margin-top:auto;padding-top:12px;display:flex}.project-links a{color:#38bdf8;border:1px solid #38bdf8;border-radius:8px;padding:10px 18px;font-size:.9rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-block}.project-links a:hover{background:#38bdf81a;transform:translateY(-2px);box-shadow:0 10px 24px #38bdf833}.project-links a[aria-disabled=true]{cursor:default;opacity:.65}.project-card-wide{grid-column:1/-1}.project-card-wide .project-description{max-width:780px;margin-left:auto;margin-right:auto}.project-card-wide .project-feature-columns{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;width:100%;max-width:850px;margin-left:auto;margin-right:auto}.project-card-wide .project-badges,.project-card-wide .project-links{justify-content:center}@media (width<=900px){.projects-grid{grid-template-columns:1fr}.project-card-wide{grid-column:auto}.project-card-wide .project-feature-columns{column-gap:18px}}@media (width<=600px){.projects{padding:72px 20px}.projects h2{margin-bottom:36px}.project-card{padding:26px}.project-feature-columns,.project-card-wide .project-feature-columns{grid-template-columns:1fr;gap:10px}.project-features{gap:10px}.project-links a{text-align:center;width:100%}}.contact{background:#08111f;border-top:1px solid #38bdf81a;padding:100px 24px}.contact-content{text-align:center;max-width:760px;margin:0 auto}.contact h2{color:#fff;margin-bottom:24px;font-size:clamp(2rem,4vw,2.75rem)}.contact h2:after{content:"";background:#38bdf8;border-radius:2px;width:60px;height:3px;margin:16px auto 0;display:block}.contact-text{color:#cbd5e1;margin-bottom:40px;font-size:1.05rem;line-height:1.8}.contact-buttons{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.contact-button{color:#38bdf8;border:1px solid #38bdf8;border-radius:8px;padding:12px 22px;font-weight:600;text-decoration:none;transition:all .25s}.contact-button:hover{background:#38bdf81a;transform:translateY(-2px)}.contact-button.primary{color:#08111f;background:#38bdf8}.contact-button.primary:hover{background:#5acbff}@media (width<=600px){.contact{padding:72px 20px}.contact-buttons{flex-direction:column}.contact-button{width:100%}}
