:root{--section-padding:4rem 1.5rem;--content-max-width:960px;--bg:#fff;--text:#1f2937;--card:#f8fafc;--navbar-bg:#f8fafc;--navbar-text:#334155;--navbar-divider:#33415524;--navbar-hover:#33415514;--navbar-overlay:#f8fafc}.dark{--bg:#0f172a;--text:#e5e7eb;--card:#1e293b;--navbar-bg:#0f172a;--navbar-text:#e5e7eb;--navbar-divider:#e5e7eb1f;--navbar-hover:#ffffff0f;--navbar-overlay:#0f172a}html{scroll-behavior:smooth}body{font-family:var(--font-geist-sans,system-ui,sans-serif);-webkit-font-smoothing:antialiased;background:var(--bg);color:var(--text);margin:0;padding-top:50px}.app-loading{background:var(--bg);color:var(--text);z-index:10000;opacity:1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.app-loading-visible{opacity:1}.app-loading-fade-out{opacity:0;pointer-events:none;transition:opacity .12s}.app-loading-spinner{border:3px solid var(--navbar-divider);border-top-color:var(--navbar-text);border-radius:50%;width:2rem;height:2rem;animation:.8s linear infinite app-spin}@keyframes app-spin{to{transform:rotate(360deg)}}main{text-align:justify;-webkit-hyphens:auto;hyphens:auto}section{padding:var(--section-padding);max-width:var(--content-max-width);margin:0 auto;scroll-margin-top:6rem}.portfolio-card{color:var(--text);border:1px solid #94a3b826;border-radius:12px;background:var(--card)!important}.portfolio-card .p-card-body,.portfolio-card .p-card-content{color:inherit;background:0 0!important}.dark .github-icon,.app-dark .github-icon{filter:invert()}.custom-navbar.p-menubar{padding-left:.75rem;padding-right:.75rem;background:var(--navbar-bg)!important;color:var(--navbar-text)!important;box-shadow:none!important;border:none!important;border-radius:0!important}.custom-navbar.p-menubar .p-menubar-root-list{background:0 0!important}.custom-navbar.p-menubar .p-menubar-start,.custom-navbar.p-menubar .p-menubar-end{align-items:center;display:flex}.navbar-controls{border:1px solid var(--navbar-divider);border-radius:999px;align-items:center;gap:.15rem;padding:.1rem .2rem;display:inline-flex}.lang-toggle{align-items:center;display:inline-flex}.lang-toggle .lang-toggle-button.p-button.p-button-text{min-width:auto;color:var(--navbar-text)!important;border-radius:999px!important;padding:.2rem .5rem!important}.lang-toggle .lang-toggle-button.p-button.p-button-text.is-active{opacity:1;font-weight:500}.lang-toggle .lang-toggle-button.p-button.p-button-text:hover{opacity:.9;background:var(--navbar-hover)!important}.theme-toggle-inline.p-button.p-button-text{min-width:auto;color:var(--navbar-text)!important;border-radius:999px!important;padding:.2rem .35rem!important}.theme-toggle-inline.p-button.p-button-text:hover{background:var(--navbar-hover)!important}.custom-navbar.p-menubar .p-menuitem{background:0 0!important}.custom-navbar.p-menubar .p-menuitem>.p-menuitem-content{background:0 0!important;border-radius:10px!important}.custom-navbar.p-menubar .p-menuitem>.p-menuitem-content>.p-menuitem-link{transition:background-color .2s,color .2s;color:var(--navbar-text)!important;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:10px!important}.custom-navbar.p-menubar .p-menuitem-text,.custom-navbar.p-menubar .p-menuitem-icon,.custom-navbar.p-menubar .p-menubar-button,.custom-navbar.p-menubar .p-submenu-icon{color:var(--navbar-text)!important}.custom-navbar.p-menubar .p-menuitem:not(.p-disabled)>.p-menuitem-content:hover,.custom-navbar.p-menubar .p-menuitem:not(.p-disabled).p-focus>.p-menuitem-content,.custom-navbar.p-menubar .p-menuitem:not(.p-disabled).p-highlight>.p-menuitem-content,.custom-navbar.p-menubar .p-menuitem:not(.p-disabled).p-menuitem-active>.p-menuitem-content{background:var(--navbar-hover)!important;color:var(--navbar-text)!important}.custom-navbar.p-menubar .p-menuitem:not(.p-disabled)>.p-menuitem-content:hover>.p-menuitem-link,.custom-navbar.p-menubar .p-menuitem:not(.p-disabled).p-focus>.p-menuitem-content>.p-menuitem-link,.custom-navbar.p-menubar .p-menuitem:not(.p-disabled).p-highlight>.p-menuitem-content>.p-menuitem-link,.custom-navbar.p-menubar .p-menuitem:not(.p-disabled).p-menuitem-active>.p-menuitem-content>.p-menuitem-link,.custom-navbar.p-menubar .p-menuitem>.p-menuitem-content>.p-menuitem-link:focus,.custom-navbar.p-menubar .p-menuitem>.p-menuitem-content>.p-menuitem-link:active{color:var(--navbar-text)!important;box-shadow:none!important;background:0 0!important;outline:none!important}.dark .custom-navbar.p-menubar .p-menuitem.p-focus>.p-menuitem-content,.dark .custom-navbar.p-menubar .p-menuitem.p-highlight>.p-menuitem-content,.dark .custom-navbar.p-menubar .p-menuitem.p-menuitem-active>.p-menuitem-content,.dark .custom-navbar.p-menubar .p-menuitem:not(.p-disabled)>.p-menuitem-content:hover{background:var(--navbar-hover)!important}.dark .custom-navbar.p-menubar .p-menuitem.p-focus>.p-menuitem-content>.p-menuitem-link,.dark .custom-navbar.p-menubar .p-menuitem.p-highlight>.p-menuitem-content>.p-menuitem-link,.dark .custom-navbar.p-menubar .p-menuitem.p-menuitem-active>.p-menuitem-content>.p-menuitem-link,.dark .custom-navbar.p-menubar .p-menuitem:not(.p-disabled)>.p-menuitem-content:hover>.p-menuitem-link{color:var(--navbar-text)!important;background:0 0!important}.custom-navbar.p-menubar .p-menubar-button{box-shadow:none!important;color:var(--navbar-text)!important;border-radius:999px!important}.custom-navbar.p-menubar .p-menubar-button:hover,.custom-navbar.p-menubar .p-menubar-button:focus,.custom-navbar.p-menubar .p-menubar-button:active{background:var(--navbar-hover)!important;color:var(--navbar-text)!important;box-shadow:none!important;outline:none!important}.custom-navbar.p-menubar :focus{box-shadow:none!important}.custom-navbar.p-menubar :focus-visible{box-shadow:none!important;outline:none!important}@media screen and (max-width:960px){.custom-navbar.p-menubar{padding-left:.5rem;padding-right:.5rem}.custom-navbar.p-menubar .p-menubar-root-list{background:var(--navbar-overlay)!important;border:1px solid var(--navbar-divider)!important;border-top:none!important;border-radius:0 0 12px 12px!important;padding:.5rem 0!important;box-shadow:0 12px 30px #0000002e!important}.custom-navbar.p-menubar .p-menuitem{width:100%}.custom-navbar.p-menubar .p-menuitem>.p-menuitem-content{border-radius:0!important}.custom-navbar.p-menubar .p-menuitem>.p-menuitem-content>.p-menuitem-link{border-radius:0!important;padding:.9rem 1.25rem!important}.custom-navbar.p-menubar .p-menuitem-text,.custom-navbar.p-menubar .p-menuitem-icon{color:var(--navbar-text)!important}}
