*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#080c18;--bg-secondary:#0f1628;--bg-card:#141c35;--accent:#4f8ef7;--accent-hover:#3a78e0;--text-primary:#e0e6f0;--text-muted:#7a8bb0;--border:#1e2d50}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;background-color:#080c18;background-color:var(--bg-primary);color:#e0e6f0;color:var(--text-primary);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.navbar{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#080c18d9;border-bottom:1px solid var(--border);display:flex;height:64px;justify-content:space-between;padding:0 2.5rem;position:sticky;top:0;z-index:100}.navbar__logo{color:var(--accent);font-size:1.1rem;font-weight:700;letter-spacing:.02em}.navbar__links{display:flex;gap:2rem}.navbar__links a{color:var(--text-muted);font-size:.95rem;font-weight:500;padding-bottom:4px;position:relative;transition:color .2s}.navbar__links a:after{background:var(--accent);bottom:0;content:"";height:2px;left:0;position:absolute;transition:width .2s;width:0}.navbar__links a.active,.navbar__links a:hover{color:var(--text-primary)}.navbar__links a.active:after,.navbar__links a:hover:after{width:100%}.home{gap:2rem;margin:0 auto;max-width:900px;padding:5rem 2rem 4rem}.hero,.home{display:flex;flex-direction:column}.hero{gap:1rem}.hero__greeting{color:var(--accent);font-size:1rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.hero__name{color:var(--text-primary);font-size:clamp(2.8rem,6vw,4.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.1}.hero__role{color:var(--text-muted);font-size:clamp(1.2rem,2.5vw,1.6rem);font-weight:400}.hero__role-highlight{color:var(--text-primary);font-weight:600}.hero__description{color:var(--text-muted);font-size:1.05rem;margin-top:.5rem;max-width:520px}.hero__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.btn{align-items:center;border:2px solid #0000;border-radius:6px;display:inline-flex;font-size:.95rem;font-weight:600;padding:.7rem 1.6rem;transition:all .2s}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-hover)}.btn--ghost{border-color:var(--border);color:var(--text-muted)}.btn--ghost:hover{border-color:var(--accent);color:var(--text-primary)}.btn--github{background:#ddd;color:#000}.btn--github:hover{background:#999}.section__title{color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.12em;margin-bottom:1.2rem;text-transform:uppercase}.skills__grid{display:flex;flex-wrap:wrap;gap:.6rem}.skill-badge{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.875rem;padding:.35rem .9rem;transition:border-color .2s}.skill-badge:hover{border-color:var(--accent)}.language-badge{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.875rem;padding:.35rem .9rem;transition:border-color .2s}.language-badge:hover{border-color:var(--accent)}.btn_icon{display:flex;height:30px;margin-right:.75rem;width:30px}.projects-page{margin:0 auto;max-width:900px;padding:4rem 2rem}.projects-page__header{margin-bottom:3rem}.projects-page__title{font-size:clamp(2rem,4vw,2.8rem);font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem}.projects-page__subtitle{color:var(--text-muted);font-size:1.05rem}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.project-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:1.2rem;justify-content:space-between;padding:1.6rem;transition:border-color .2s,transform .2s}.project-card:hover{border-color:var(--accent);transform:translateY(-3px)}.project-card__title-row{align-items:center;display:flex;gap:.6rem;margin-bottom:.5rem}.project-card__title{font-size:1.15rem;font-weight:700}.project-card__active{align-items:center;color:#39ff14;display:inline-flex;font-size:.7rem;font-weight:700;gap:.35rem;letter-spacing:.08em;text-shadow:0 0 6px #39ff14,0 0 14px #39ff14aa}.project-card__active-dot{animation:neon-pulse 2s ease-in-out infinite;background:#39ff14;border-radius:50%;box-shadow:0 0 6px #39ff14,0 0 12px #39ff14;height:7px;width:7px}@keyframes neon-pulse{0%,to{box-shadow:0 0 6px #39ff14,0 0 12px #39ff14;opacity:1}50%{box-shadow:0 0 2px #39ff14;opacity:.5}}.project-card__desc{color:var(--text-muted);font-size:.9rem;line-height:1.6}.project-card__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}.project-card__tag{background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--accent);font-size:.78rem;padding:.2rem .6rem}.project-card__links{display:flex;gap:1rem}.card-link{color:var(--text-muted);font-size:.875rem;font-weight:600;transition:color .2s}.card-link:hover{color:var(--text-primary)}.card-link--accent{color:var(--accent)}.card-link--accent:hover{color:var(--accent-hover)}.contact-page{margin:0 auto;max-width:700px;padding:4rem 2rem}.contact-page__header{margin-bottom:3rem}.contact-page__title{color:var(--text-primary);font-size:2.5rem;font-weight:700;margin-bottom:.75rem}.contact-page__subtitle{color:var(--text-muted);font-size:1.05rem;max-width:500px}.contact-links{display:flex;flex-direction:column;gap:1rem}.contact-link{align-items:center;background-color:var(--bg-card);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);display:flex;font-size:1.2rem;font-weight:500;gap:1rem;max-width:180px;padding:1.25rem 1.5rem;transition:border-color .2s,transform .2s}.contact-link:hover{border-color:var(--accent);transform:translateX(4px)}.contact-link__icon{display:flex;font-size:1.4rem;height:28px;width:28px}.project-page{margin:0 auto;max-width:960px;padding:4rem 2rem}.project-page__header{margin-bottom:2rem;text-align:center}.shimmer{animation:shine 8s linear infinite;background:linear-gradient(120deg,#999,#999 45%,#fff 49%,#fff 51%,#999 55%,#999);background-clip:text;-webkit-background-clip:text;background-size:200% auto;color:#999;color:#0000;filter:contrast(120%) brightness(110%);font-size:2.8rem;font-weight:800;margin-bottom:.45rem;position:relative}@keyframes shine{0%{background-position:200%}to{background-position:-200%}}.project-page__subtitle{color:var(--text-muted);font-size:1.45rem;margin:0 auto;max-width:520px}.project-sections{display:flex;flex-direction:column;gap:3rem}.project-section{align-items:center;display:flex;flex-direction:row;gap:4rem}.project-section--reverse{flex-direction:row-reverse}.project-section__text{display:flex;flex:1 1;flex-direction:column;gap:1rem}.project-section__title{color:var(--text-primary);font-size:1.6rem;font-weight:700}.project-section__body{color:var(--text-muted);font-size:1rem;line-height:1.8}.project-section__image-wrapper{align-items:center;background-color:var(--bg-card);border:1px solid var(--border);border-radius:16px;display:flex;flex-shrink:0;justify-content:center;overflow:hidden}.project-section__image{height:240px;object-fit:contain;opacity:.6;width:240px}.project-section__demo{height:210px;object-fit:contain;opacity:.6;width:360px}.project-section__extra-links{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.project-section__extra-links-label{color:var(--text-muted);font-size:.85rem;letter-spacing:.03em}.project-section__extra-links-list{display:flex;gap:1rem}.project-section__extra-link{border-bottom:1px solid var(--border);color:var(--text-primary);font-size:.9rem;font-weight:600;padding-bottom:1px;text-decoration:none;transition:color .2s,border-color .2s}.project-section__extra-link:hover{border-color:#888;border-color:var(--accent,#888);color:#888;color:var(--accent,#888)}.project-section__stack{display:flex;flex-wrap:wrap;gap:3rem;margin:auto}.project-stack-component{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:1rem;padding:.35rem .9rem;transition:border-color .2s}@media (max-width:640px){.project-section,.project-section--reverse{flex-direction:column}.project-section__image-wrapper{height:200px;width:100%}}
/*# sourceMappingURL=main.c49c3dd9.css.map*/