:root{--color-bg:#0a192f;--color-bg-card:#17335f;--color-bg-card-hover:#234a80;--color-bg-tag:#2b3a59;--color-bg-subtle:#0f2238;--color-accent:#6cb6ff;--color-accent-contrast:#062a4a;--color-text:#ccd6f6;--color-text-muted:#8892b0;--color-border:#1d3557;--shadow-accent:#6cb6ff73;--shadow-accent-hover:#6cb6ff99;--color-card-text:#e2e9fb;--color-card-text-muted:#a7b3d6;--color-card-accent:#7fc0ff;--color-card-border:#2a4a7a;--color-card-tag-bg:#22406e;--radius-card:8px;--transition-card:background-color 0.3s ease,box-shadow 0.3s ease;--padding-section:5rem 2rem;--padding-card:1.5rem}[data-theme=light]{--color-bg:#dce7f5;--color-bg-card:#10233f;--color-bg-card-hover:#17335f;--color-bg-tag:#e4edf7;--color-bg-subtle:#eef4fb;--color-accent:#0b66c3;--color-accent-contrast:#eaf3fd;--color-text:#0f2440;--color-text-muted:#51648a;--color-border:#d6e2f0;--shadow-accent:#0b66c340;--shadow-accent-hover:#0b66c359;--color-card-text:#e6eefc;--color-card-text-muted:#b8c6e2;--color-card-accent:#7fc0ff;--color-card-border:#2a4a7a;--color-card-tag-bg:#1b3a63}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a192f;background-color:var(--color-bg);color:#ccd6f6;color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{display:flex;height:100vh}@media (max-width:768px){.container{flex-direction:column}}.main-content{flex:1 1;margin-left:280px;overflow-y:auto;padding:2rem}@media (max-width:768px){.main-content{margin-left:0;padding:1rem}}.section{margin-left:auto;margin-right:auto;max-width:1100px;min-height:auto;padding:1.25rem 0;scroll-margin-top:10px}.project-container{background-color:var(--color-bg);color:var(--color-text);padding:var(--padding-section)}.project-container h2{color:var(--color-accent);font-size:2rem;margin-bottom:2rem}.project-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.project-card{background-color:var(--color-bg-card);border-radius:var(--radius-card);min-height:220px;opacity:0;padding:var(--padding-card);transform:translateY(6px);transition:var(--transition-card),opacity .3s ease,transform .3s ease}.project-card:hover{background-color:var(--color-bg-card-hover);box-shadow:0 8px 15px var(--shadow-accent)}.project-card.visible{opacity:1;transform:none}.image-wrap{background-color:var(--color-bg-subtle);border:3px solid var(--color-accent);border-radius:var(--radius-card);box-shadow:0 5px 10px #0000004d;height:180px;margin-bottom:1rem;overflow:hidden;width:100%}.project-image{display:block;height:100%;object-fit:cover;opacity:0;transform-origin:center center;transition:opacity .3s ease,transform .3s ease;width:100%}.project-image.loaded{opacity:1;transform:none}.project-content h3{color:var(--color-card-accent);margin-bottom:.5rem}.project-content p{color:var(--color-card-text-muted);margin-bottom:1rem}.technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;margin-top:1rem}.tech-box{background-color:var(--color-card-tag-bg);border:1px solid var(--color-card-border);border-radius:12px;color:var(--color-card-text-muted);font-size:.9rem;padding:.3rem .6rem;transition:color .2s ease,border-color .2s ease,transform .2s ease}.tech-box:hover{border-color:var(--color-card-accent);color:var(--color-card-accent);transform:translateY(-2px)}.project-links{display:flex;flex-direction:column;gap:8px;margin-top:8px}.project-link{color:var(--color-card-text-muted);display:inline-block;text-decoration:none}.project-link:hover{color:var(--color-card-accent)}@media (max-width:768px){.project-container{padding:2rem}.project-grid{grid-template-columns:1fr}}.skeleton{animation:pulse 1.5s ease-in-out infinite}.skeleton-image{background-color:var(--color-bg-tag);border-radius:var(--radius-card);height:100px;margin-bottom:1rem;width:100px}.skeleton-title{height:1.5rem;margin-bottom:.5rem}.skeleton-description,.skeleton-title{background-color:var(--color-bg-tag);border-radius:4px}.skeleton-description{height:3rem;margin-bottom:1rem}.skeleton-technologies{display:flex;gap:.5rem;margin-bottom:2rem}.skeleton-tech{border-radius:12px;width:60px}.skeleton-link,.skeleton-tech{background-color:var(--color-bg-tag);height:1.5rem}.skeleton-link{border-radius:4px;width:100px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error-message{color:var(--color-accent);font-size:1.2rem;padding:2rem;text-align:center}.doc-links-row{border-top:1px solid var(--color-card-border);display:flex;flex-wrap:wrap;gap:.4rem 1rem;list-style:none;margin:.6rem 0 0;padding:.6rem 0 0}.doc-links-row a{color:var(--color-card-text-muted);font-size:.8rem;text-decoration:none}.doc-links-row a:hover{color:var(--color-card-accent);text-decoration:underline}.about-container{background-color:var(--color-bg);color:var(--color-text);padding:2rem 0;text-align:left}.about-header{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;text-align:center}.about-header img{border:4px solid var(--color-accent);border-radius:50%;box-shadow:0 8px 15px #0000004d;height:280px;object-fit:cover;transition:transform .3s ease,box-shadow .3s ease,filter .3s ease;width:280px}[data-theme=light] .about-header img{filter:grayscale(1)}.about-header img:hover{box-shadow:0 12px 20px var(--shadow-accent-hover);filter:grayscale(0);transform:scale(1.03)}.about-header h2{color:var(--color-accent);font-size:2rem;margin:0}.about-blocks{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.about-block{background-color:var(--color-bg-card);border:1px solid var(--color-card-border);border-radius:var(--radius-card);padding:var(--padding-card);transition:var(--transition-card)}.about-block:hover{background-color:var(--color-bg-card-hover)}.about-block h3{color:var(--color-card-accent);font-size:1.05rem;margin:0 0 .6rem}.about-block p{color:var(--color-card-text-muted);font-size:.95rem;line-height:1.55;margin:0}.career-strip{grid-gap:1.5rem;border-top:1px solid var(--color-border);display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-top:2rem;padding-top:1.5rem}.career-card h3{color:var(--color-card-text);font-size:.95rem;letter-spacing:.05em;margin:0 0 .75rem;text-transform:uppercase}.career-card ul{list-style:none;margin:0;padding:0}.career-card li{color:var(--color-card-text-muted);font-size:.85rem;line-height:1.5;margin-bottom:.5rem}@media (max-width:900px){.about-blocks,.career-strip{grid-template-columns:1fr}}@media (max-width:768px){.about-header img{height:220px;width:220px}}.hero{padding:3rem 0 1rem}.hero-eyebrow{align-items:center;color:var(--color-accent);display:flex;font-family:Courier New,monospace;font-size:.82rem;gap:.6rem;letter-spacing:.08em;text-transform:uppercase}.hero-eyebrow:before{background:var(--color-accent);border-radius:2px;content:"";height:2px;width:26px}.hero-headline{color:var(--color-text);font-size:2.6rem;letter-spacing:-.02em;line-height:1.1;margin:.9rem 0}.hero-highlight{color:var(--color-accent)}.hero-lead{color:var(--color-text-muted);font-size:1.1rem;margin-bottom:1.6rem;max-width:46ch}.hero-cta{display:flex;flex-wrap:wrap;gap:.8rem}.hero-btn{align-items:center;border:1px solid #0000;border-radius:10px;cursor:pointer;display:inline-flex;font:inherit;font-size:.92rem;font-weight:600;padding:.7rem 1.2rem;text-decoration:none;transition:opacity .2s ease,border-color .2s ease,color .2s ease}.hero-btn.primary{background:var(--color-accent);color:var(--color-accent-contrast)}.hero-btn.primary:hover{opacity:.88}.hero-btn.ghost{background:#0000;border-color:var(--color-border);color:var(--color-text)}.hero-btn.ghost:hover{border-color:var(--color-accent);color:var(--color-accent)}@media (max-width:768px){.hero{padding:1.5rem 0 1rem}.hero-headline{font-size:1.9rem}}.skills-container h2{color:var(--color-accent);font-size:2rem;margin-bottom:1.5rem}.skills-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr}.skills-card{background-color:var(--color-bg-card);border:1px solid var(--color-card-border);border-radius:var(--radius-card);padding:1.2rem}.skills-card h3{color:var(--color-card-accent);font-size:1rem;margin-bottom:.35rem}.skills-desc{color:var(--color-card-text-muted);font-size:.83rem;margin:0 0 .7rem}.skills-chips{display:flex;flex-wrap:wrap;gap:.4rem}.skills-chip{background:var(--color-card-tag-bg);border:1px solid var(--color-card-border);border-radius:7px;color:var(--color-card-text-muted);font-family:Courier New,monospace;font-size:.78rem;padding:.28rem .55rem;transition:color .2s ease,border-color .2s ease,transform .2s ease}.skills-chip:hover{border-color:var(--color-card-accent);color:var(--color-card-accent);transform:translateY(-2px)}.contact-container{margin-left:auto;margin-right:auto;max-width:700px}.contact-container h2{color:var(--color-accent);font-size:2rem;margin-bottom:.5rem}.contact-lead{color:var(--color-text-muted);margin-bottom:1.5rem;max-width:52ch}.contact-form{grid-gap:1rem;display:grid;gap:1rem;max-width:560px}.contact-botcheck{height:1px;left:-9999px;position:absolute;width:1px}.contact-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.contact-field label{color:var(--color-text-muted);display:block;font-size:.8rem;margin-bottom:.35rem}.contact-field input,.contact-field textarea{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:10px;box-sizing:border-box;caret-color:var(--color-card-text);color:var(--color-card-text);font:inherit;font-size:.92rem;padding:.7rem .8rem;transition:border-color .2s ease;width:100%}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--color-card-text-muted)}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--color-accent);outline:none}.contact-consent{align-items:flex-start;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:.8rem;gap:.6rem}.contact-consent input{margin-top:.2rem}.contact-submit{background:var(--color-accent);border:none;border-radius:10px;color:var(--color-accent-contrast);cursor:pointer;font:inherit;font-size:.92rem;font-weight:600;justify-self:start;padding:.7rem 1.4rem;transition:opacity .2s ease}.contact-submit:hover:not(:disabled){opacity:.88}.contact-submit:disabled{cursor:not-allowed;opacity:.45}.contact-status{font-size:.9rem;margin:0}.contact-status.success{color:var(--color-accent)}.contact-status.error{color:#ff6b6b}.contact-socials{display:flex;gap:1.5rem;justify-content:center;margin-top:1.5rem}.contact-socials a{color:var(--color-text-muted);font-size:2rem;transition:color .2s ease,transform .2s ease}.contact-socials a:hover{color:var(--color-accent);transform:translateY(-3px)}@media (max-width:768px){.contact-row{grid-template-columns:1fr}}.legal-content{color:var(--color-text);line-height:1.6;max-width:780px}
/*# sourceMappingURL=main.608e50bc.css.map*/