.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{-webkit-animation:App-logo-spin 20s linear infinite;animation:App-logo-spin 20s linear infinite}}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}@-webkit-keyframes App-logo-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes App-logo-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.container{width:100%}.flex-container{display:flex;flex-direction:column}.sidebar{width:100%}.content{overflow-y:auto}@media (min-width:1200px){.flex-container{flex-direction:row;height:100vh}.sidebar{width:400px}.content,.sidebar{height:100vh;overflow-y:auto}.content{flex-grow:1}}.customJumbotron{color:var(--ink);font-family:var(--font-sans)}.customJumbotron .customJumbotron-jumbotron{height:100vh;border-radius:0;z-index:10}.customJumbotron .customJumbotron-jumbotron .customJumbotron-container{height:100%;display:flex;flex-direction:column;flex-wrap:nowrap;align-content:center;justify-content:center;align-items:center;text-align:center}.customJumbotron .hero-eyebrow{display:inline-flex;align-items:center;gap:.75rem;text-transform:uppercase;letter-spacing:.25em;font-size:.78rem;font-weight:600;color:var(--accent-strong);margin-bottom:1.25rem}.customJumbotron .hero-eyebrow:after,.customJumbotron .hero-eyebrow:before{content:"";width:28px;height:2px;border-radius:2px;background:currentColor;opacity:.6}.customJumbotron .hero-title{font-size:clamp(2.6rem,6vw,4.4rem);font-weight:800;letter-spacing:-.035em;line-height:1.05;margin-bottom:1.5rem}.customJumbotron .hero-name{background:linear-gradient(120deg,var(--accent-deep),var(--accent));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.customJumbotron .hero-badges{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2.25rem;max-width:720px}.customJumbotron .hero-badges .hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .95rem;border-radius:999px;background:hsla(0,0%,100%,.72);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:.86rem;font-weight:500;color:var(--ink-muted)}.customJumbotron .hero-badges .hero-badge i{color:var(--accent-strong)}.customJumbotron .hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.customJumbotron .hero-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;border-radius:999px;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--ink);background:hsla(0,0%,100%,.72);border:1px solid rgba(26,29,33,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:box-shadow .18s ease,border-color .18s ease,background .18s ease,-webkit-transform .18s ease;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,-webkit-transform .18s ease}.customJumbotron .hero-btn:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 10px 24px rgba(26,29,33,.1);border-color:rgba(26,29,33,.32)}.customJumbotron .hero-btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}.customJumbotron .hero-btn-primary:hover{box-shadow:0 12px 28px rgba(26,29,33,.22);border-color:var(--ink)}.customJumbotron .dark-jumbotron{color:var(--ink-dark)}.customJumbotron .dark-jumbotron .hero-eyebrow{color:var(--accent)}.customJumbotron .dark-jumbotron .hero-name{background:linear-gradient(120deg,var(--accent),#6ee7b7);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.customJumbotron .dark-jumbotron .hero-badges .hero-badge{background:rgba(23,28,34,.72);border-color:var(--line-dark);color:var(--ink-dark-muted)}.customJumbotron .dark-jumbotron .hero-badges .hero-badge i{color:var(--accent)}.customJumbotron .dark-jumbotron .hero-btn{background:rgba(23,28,34,.72);border-color:rgba(232,234,237,.16);color:var(--ink-dark)}.customJumbotron .dark-jumbotron .hero-btn:hover{box-shadow:0 10px 24px rgba(0,0,0,.45);border-color:rgba(232,234,237,.36)}.customJumbotron .dark-jumbotron .hero-btn-primary{background:var(--accent);border-color:var(--accent);color:#07120d}.customJumbotron .dark-jumbotron .hero-btn-primary:hover{border-color:var(--accent)}.customJumbotron .dark-jumbotron img{-webkit-filter:invert(100%);filter:invert(100%)}.floating-navigation-container{position:fixed;top:18px;right:20px;z-index:100}.theme-toggle{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:1.05rem;color:var(--ink);background:hsla(0,0%,100%,.72);border:1px solid rgba(26,29,33,.16);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:box-shadow .18s ease,-webkit-transform .18s ease;transition:transform .18s ease,box-shadow .18s ease;transition:transform .18s ease,box-shadow .18s ease,-webkit-transform .18s ease}.theme-toggle:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 8px 20px rgba(26,29,33,.12)}.theme-toggle-dark{color:#fbd38d;background:rgba(23,28,34,.72);border-color:rgba(232,234,237,.16)}.theme-toggle-dark:hover{box-shadow:0 8px 20px rgba(0,0,0,.45)}.star-canvas{background:radial-gradient(ellipse 80% 60% at 50% 35%,#fff 0,var(--paper) 70%,#eef0ef 100%)}.star-canvas,.star-canvas-dark{position:fixed;height:100vh;width:100vw;top:0;left:0;right:0;bottom:0;z-index:-1}.star-canvas-dark{background:radial-gradient(ellipse 80% 60% at 50% 35%,#161c21 0,var(--paper-dark) 70%,#0b0e12 100%)}.navbar-custom{position:fixed;bottom:0;width:100%;background-color:#ffffff52}.navbar-custom .navbar-custom-link a{color:#323232;font-weight:500}::-webkit-scrollbar{display:none}.project-page-conatiner{font-family:var(--font-sans);background:var(--paper);color:var(--ink);min-height:100vh}.project-page-conatiner .blocking-overlay{background:#000000ab;position:absolute;top:0;left:0;right:0;bottom:0;height:510%;z-index:1;width:100%;color:#fff;display:flex;flex-direction:column;flex-wrap:nowrap;align-content:center;justify-content:center;align-items:center;font-weight:500;font-size:2rem}.project-page-conatiner .project-page-nav{position:-webkit-sticky;position:sticky;top:30px}.project-page-conatiner .project-page-nav .project-page-nav-header{background:#576662;color:#fff}.project-page-conatiner .project-page-nav .project-page-list-group-item{color:#303030}.project-page-conatiner .item-container{display:flex}.project-page-conatiner-dark{background:var(--paper-dark);color:var(--ink-dark)}.project-card{width:100%;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);transition:box-shadow .18s ease,border-color .18s ease,-webkit-transform .18s ease;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,-webkit-transform .18s ease}.project-card:hover{-webkit-transform:translateY(-4px);transform:translateY(-4px);box-shadow:0 18px 36px rgba(26,29,33,.08);border-color:rgba(5,150,105,.35)}.project-card .project-card-body{flex-grow:1}.project-card .project-card-title{font-weight:700;letter-spacing:-.015em;font-size:1.15rem;margin-bottom:.6rem}.project-card .project-card-desc{color:var(--ink-muted);font-size:.92rem;line-height:1.65;margin:0}.project-card .project-card-tech{display:flex;flex-wrap:wrap;gap:.4rem}.project-card .tech-chip{font-size:.74rem;font-weight:600;padding:.28rem .7rem;border-radius:999px;background:rgba(5,150,105,.08);border:1px solid rgba(5,150,105,.18);color:var(--accent-deep);white-space:nowrap}.project-card .project-card-links{display:flex;flex-wrap:wrap;gap:.5rem}.project-card .project-card-link{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem 1.1rem;border-radius:999px;font-size:.86rem;font-weight:600;text-decoration:none;color:var(--ink);border:1px solid rgba(26,29,33,.18);transition:background .18s ease,color .18s ease,border-color .18s ease}.project-card .project-card-link:hover{background:var(--ink);border-color:var(--ink);color:#fff}.project-card .project-card-link i{font-size:.78rem}.project-card-dark{background:var(--surface-dark);border-color:var(--line-dark)}.project-card-dark:hover{box-shadow:0 18px 36px rgba(0,0,0,.45);border-color:rgba(52,211,153,.35)}.project-card-dark .project-card-desc{color:var(--ink-dark-muted)}.project-card-dark .tech-chip{background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.22);color:var(--accent)}.project-card-dark .project-card-link{color:var(--ink-dark);border-color:rgba(232,234,237,.2)}.project-card-dark .project-card-link:hover{background:var(--accent);border-color:var(--accent);color:#07120d}.main-header{padding:120px 16px 56px;font-family:var(--font-sans);display:flex;flex-direction:column;flex-wrap:nowrap;align-content:center;justify-content:center;align-items:center;text-align:center}.main-header .main-header-eyebrow{display:inline-flex;align-items:center;gap:.75rem;text-transform:uppercase;letter-spacing:.25em;font-size:.78rem;font-weight:600;margin-bottom:1rem}.main-header .main-header-eyebrow:after,.main-header .main-header-eyebrow:before{content:"";width:28px;height:2px;border-radius:2px;background:currentColor;opacity:.6}.main-header h1{font-size:clamp(2.6rem,6vw,4.2rem);font-weight:800;letter-spacing:-.035em;line-height:1.05;margin-bottom:.75rem}.main-header .main-header-sub{max-width:640px;font-size:1rem;line-height:1.65}.main-header-light{color:var(--ink)}.main-header-light .main-header-eyebrow{color:var(--accent-strong)}.main-header-light .main-header-sub{color:var(--ink-muted)}.main-header-dark{color:var(--ink-dark)}.main-header-dark .main-header-eyebrow{color:var(--accent)}.main-header-dark .main-header-sub{color:var(--ink-dark-muted)}.sidebar-container{background-color:#1e0015}@media (min-width:1200px){.sidebar-container{height:100vh}}.sidebar-container #profilePicture img{height:350px;border-radius:10px}@media (max-height:950px) or (max-width:1200px){.sidebar-container #profilePicture{display:none}}.resume-page{font-family:var(--font-sans);background:var(--paper);color:var(--ink);min-height:100vh}.resume-page.bg-dark{background-color:var(--paper-dark)!important;color:var(--ink-dark)}.section-title{display:flex;align-items:center;gap:.75rem;font-family:var(--font-sans);font-weight:700;letter-spacing:-.02em}.section-title:before{content:"";width:5px;height:1.4rem;border-radius:3px;background:linear-gradient(180deg,var(--accent),var(--accent-strong))}.skill-container .skill-group-title{font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-muted)}.skill-container .skill-chip-row{gap:.45rem}.skill-container .skill-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .9rem;border-radius:999px;font-size:.875rem;font-weight:500;background:var(--surface);border:1px solid rgba(26,29,33,.14);color:var(--ink);transition:border-color .18s ease,-webkit-transform .18s ease;transition:border-color .18s ease,transform .18s ease;transition:border-color .18s ease,transform .18s ease,-webkit-transform .18s ease}.skill-container .skill-chip:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--accent-strong)}.skill-container .skill-chip:hover{-webkit-transform:translateY(-1px);transform:translateY(-1px);border-color:rgba(5,150,105,.45)}.resume-card{padding:1.5rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line)}.resume-card .resume-card-heading{font-size:1.1rem}.resume-card .resume-card-heading strong{letter-spacing:-.01em}.resume-card .resume-card-divider{opacity:.35}.resume-card .resume-card-role{color:var(--ink-muted)}.resume-card .resume-card-meta{font-size:.875rem;color:var(--ink-muted)}.resume-card .resume-card-list{margin-top:.75rem;padding-left:1.25rem;line-height:1.65}.resume-card .resume-card-list li::marker{color:var(--accent-strong)}.resume-card .resume-card-tech{font-size:.86rem;color:var(--ink-muted);border-top:1px solid var(--line);padding-top:1rem}.resume-card .resume-card-tech:before{content:"Tech stack — ";font-weight:600;color:var(--accent-strong)}.view-projects-btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.9rem;border-radius:999px;font-size:1rem;font-weight:600;text-decoration:none;color:#fff;background:var(--ink);border:1px solid var(--ink);transition:box-shadow .18s ease,-webkit-transform .18s ease;transition:transform .18s ease,box-shadow .18s ease;transition:transform .18s ease,box-shadow .18s ease,-webkit-transform .18s ease}.view-projects-btn:hover{color:#fff;-webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 12px 28px rgba(26,29,33,.22)}.view-projects-btn-dark{color:#07120d;background:var(--accent);border-color:var(--accent)}.view-projects-btn-dark:hover{color:#07120d;box-shadow:0 12px 28px rgba(0,0,0,.45)}.bg-dark .skill-container .skill-group-title{color:var(--ink-dark-muted)}.bg-dark .skill-container .skill-chip{background:var(--surface-dark);border-color:rgba(232,234,237,.16);color:var(--ink-dark)}.bg-dark .skill-container .skill-chip:before{background:var(--accent)}.bg-dark .skill-container .skill-chip:hover{border-color:rgba(52,211,153,.45)}.bg-dark .resume-card{background:var(--surface-dark);border-color:var(--line-dark)}.bg-dark .resume-card .resume-card-meta,.bg-dark .resume-card .resume-card-role,.bg-dark .resume-card .resume-card-tech{color:var(--ink-dark-muted)}.bg-dark .resume-card .resume-card-list li::marker{color:var(--accent)}.bg-dark .resume-card .resume-card-tech{border-top-color:var(--line-dark)}.bg-dark .resume-card .resume-card-tech:before{color:var(--accent)}:root{--accent:#34d399;--accent-strong:#059669;--accent-deep:#047857;--ink:#1a1d21;--ink-muted:#5c6470;--paper:#f6f7f7;--surface:#fff;--line:rgba(26,29,33,.09);--ink-dark:#e8eaed;--ink-dark-muted:#9aa3ad;--paper-dark:#101418;--surface-dark:#171c22;--line-dark:rgba(232,234,237,.1);--radius:16px;--font-sans:"Inter","Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}