@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;700&display=swap";.top-navbar{background-color:#0000;width:100%}.inner-nav{width:92%;max-width:40rem;margin:auto;padding:1em 0}.nav-inner-wrapper{justify-content:space-between;align-items:center;display:flex}.nav-header{align-items:center;display:flex}.nav-title a{color:var(--color-text);cursor:pointer;text-decoration:none;transition:opacity .2s}.nav-title a:hover{opacity:.7}.nav-title a:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}.nav-title span{color:var(--color-accent)}.nav-links-row{align-items:center;gap:2rem;display:flex}.nav-items{gap:1.75rem;display:flex}.nav-items a{color:var(--color-text);border-bottom:1px solid #0000;padding-bottom:2px;text-decoration:none;transition:border-color .2s}.nav-items a:hover,.nav-items a:focus-visible{border-bottom-color:var(--color-text)}.nav-items a.active{border-bottom:1px dashed var(--color-accent)}.theme-toggle{background:var(--toggle-bg);border:1px solid var(--toggle-border);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;width:3.8em;height:2em;padding:.2em;transition:background .3s,border-color .3s;display:flex}.theme-toggle-knob{background:var(--color-accent);width:1.6em;height:1.6em;color:var(--color-bg);transform:translateX(var(--toggle-knob-x));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;transition:transform .25s,background .3s,color .3s;display:flex;position:relative}.theme-icon-sun,.theme-icon-moon{pointer-events:none;transition:opacity .15s;position:absolute;top:50%;left:50%;translate:-50% -50%}.theme-icon-sun{opacity:0}.theme-icon-moon,[data-theme=light] .theme-icon-sun{opacity:1}[data-theme=light] .theme-icon-moon{opacity:0}.theme-toggle-mobile{display:none}.theme-toggle-desktop{display:flex}@media (width<=767px){.nav-inner-wrapper{flex-direction:column;align-items:flex-start}.nav-header{justify-content:space-between;width:100%;margin-bottom:1em}.theme-toggle-mobile{display:flex}.theme-toggle-desktop{display:none}.inner-nav{width:90%;padding:.5em 0;font-size:.85em}}.work-wrapper{padding:3rem 0}.work-heading{color:var(--color-text);margin-bottom:1.5rem}.work-list{flex-direction:column;display:flex}.project-row{grid-template-columns:2.25rem 1fr auto;align-items:start;column-gap:.85rem;padding:.75rem 0;display:grid}.project-row-left{display:contents}.project-icon{color:var(--color-accent);opacity:.75;justify-content:center;margin-top:.2em;font-size:.9rem;display:flex}.project-info{flex-direction:column;gap:.2rem;min-width:0;display:flex}.project-name{color:var(--color-text);font-weight:500}.project-headline{color:var(--color-text-muted);font-size:.85rem;font-weight:300}.project-row-right{align-items:center;gap:.75rem;display:flex}.project-link{color:var(--color-text-muted);font-size:.85rem;text-decoration:none;transition:color .15s}.project-link:hover{color:var(--color-accent)}.project-period{color:var(--color-text-muted);white-space:nowrap;font-size:.8rem;font-weight:300}.work-heading-projects{margin-top:2.5rem}.about-wrapper{color:var(--color-text);padding:3rem 0}.about-page-wrapper{color:var(--color-text);padding:3rem 0 5rem}.about-section-heading{margin-bottom:1.25rem}.about-bio{flex:400px}.about-bio-text{letter-spacing:.5px;color:var(--color-text-muted);flex-direction:column;gap:1rem;margin-bottom:2rem;font-weight:300;display:flex}.bio-img{width:100%;max-width:350px;margin-bottom:1.25rem;display:block}.about-contact-heading{margin-bottom:.75rem;font-size:1.1rem}.about-page-links{justify-content:flex-start;gap:2rem;display:flex}.about-page-links a{color:var(--color-accent);font-size:.9rem;font-weight:400;text-decoration:none;transition:color .2s}.about-page-links a:hover{color:var(--color-accent-hover)}.about-bio-text a{color:var(--color-accent);text-decoration:none;transition:color .2s}.about-bio-text a:hover{color:var(--color-accent-hover)}.about-skills{margin-top:3rem}.skills-grid{flex-direction:column;gap:1rem;display:flex}.skills-row{grid-template-columns:10rem 1fr;align-items:baseline;gap:.75rem;display:grid}.skills-heading{color:var(--color-text);text-transform:uppercase;letter-spacing:.04em;padding-top:.1em;font-size:.8rem;font-weight:500}.skills-items{color:var(--color-text-muted);font-size:.875rem;font-weight:300;line-height:1.6}@media (width<=480px){.skills-row{grid-template-columns:1fr;gap:.25rem}}@media (width>=768px){.bio-img{max-width:450px}}.hero-wrapper{width:100%;margin-bottom:3rem;padding-top:1rem}.hero-body{flex-direction:column;gap:1.5rem;display:flex}.hero-avatar-wrap{cursor:pointer;justify-content:center;align-items:center;width:150px;height:150px;margin-top:2rem;margin-left:-6px;display:flex;position:relative}.hero-avatar{width:auto;height:134px;filter:var(--avatar-filter);z-index:1;transition:filter .3s;display:block;position:relative}.firework-rocket{pointer-events:none;z-index:0;border-radius:1px;width:2px;height:12px;animation:linear forwards rocket-fly;position:absolute;top:50%;left:50%}@keyframes rocket-fly{0%{transform:translate(-50%, calc(-50% + var(--origin-y))) rotate(var(--rotate)) translateY(0px);opacity:1}to{transform:translate(-50%, calc(-50% + var(--origin-y))) rotate(var(--rotate)) translateY(calc(-1 * var(--dist)));opacity:1}}.firework-spark{pointer-events:none;z-index:0;border-radius:50%;animation:ease-out forwards spark-fly;position:absolute;top:50%;left:50%}@keyframes spark-fly{0%{transform:translate(calc(-50% + var(--ox)), calc(-50% + var(--oy))) scale(1);opacity:1}to{transform:translate(calc(-50% + var(--ox) + var(--tx)), calc(-50% + var(--oy) + var(--ty))) scale(0);opacity:0}}.hero-text,.hero-headline{flex-direction:column;gap:1.25rem;display:flex}.hero-title{color:var(--color-text);font-size:1.25rem;display:block}.hero-subtitle{color:var(--color-text-muted)}.hero-extra{color:var(--color-text-muted);font-size:.875rem}.hero-extra>span{margin-right:.5rem;display:inline-block}.blog-page-wrapper{color:var(--color-text);padding:3rem 0 5rem}.blog-heading{margin-bottom:1.5rem}.blog-coming-soon{color:var(--color-text-muted);font-size:1.1rem;font-weight:300}:root{--color-foreground:#fff;--color-background:#16132a;--color-primary:#8fb4ff;--color-gray-100:#111827;--color-gray-200:#1f2937;--color-gray-300:#cbd5e1;--color-gray-400:#fff;--color-bg:#0b1220;--color-selection:#3c7eee59;--color-highlight-bg:#3c7eee40;--color-highlight-fg:#fff;--color-content:#e2e8f0;--color-muted:#b0bfd0;--color-link-active:#fff;--color-header-brand:#cbd5e1;--color-avatar-hover:var(--color-gray-300);--bg-fallback:var(--color-bg);--bg-start:#162540;--bg-mid:#0e1a30;--bg-end:var(--color-bg);--color-text:var(--color-content);--color-text-muted:var(--color-muted);--color-accent:var(--color-primary);--color-accent-hover:#c084fc;--avatar-filter:invert(1);--toggle-bg:#ffffff1f;--toggle-border:#ffffff40;--toggle-knob-x:1.8em;--card-bg:var(--color-gray-200);--card-gradient:none;--card-border:#2d3f55;--dot-color:#ffffff1c;--row-hover-bg:#ffffff0a}[data-theme=light]{--color-foreground:#1a1a2e;--color-background:#fafafa;--color-primary:#4361cc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#334155;--color-gray-400:#1a1a2e;--color-bg:#fafafa;--color-selection:#4361cc40;--color-highlight-bg:#4361cc26;--color-highlight-fg:#1a1a2e;--color-content:#334155;--color-muted:#475569;--color-link-active:#1a1a2e;--color-header-brand:#334155;--color-avatar-hover:var(--color-gray-300);--bg-fallback:var(--color-bg);--bg-start:#eef1f5;--bg-mid:#f5f6f8;--bg-end:var(--color-bg);--color-text:var(--color-content);--color-text-muted:var(--color-muted);--color-accent:var(--color-primary);--color-accent-hover:#7c3aed;--avatar-filter:none;--toggle-bg:#00000014;--toggle-border:#0000002e;--toggle-knob-x:0em;--card-bg:var(--color-background);--card-gradient:none;--card-border:var(--color-gray-200);--dot-color:#00000026;--row-hover-bg:#0000000a}*,:before,:after{box-sizing:border-box;margin:0;padding:0;font-family:Poppins,sans-serif}::selection{background:var(--color-selection);color:var(--color-highlight-fg)}body{background-color:var(--bg-fallback);color:var(--color-text);transition:background-color .3s,color .3s;overflow-x:hidden}.main-page-container{background-color:var(--bg-fallback);background-image:radial-gradient(circle, var(--dot-color) 1px, transparent 1px), linear-gradient(to right, var(--bg-start), var(--bg-mid), var(--bg-end));background-size:17px 17px,100%;height:100%;min-height:100vh;padding:2rem 0;transition:background-color .3s}.content-container{width:92%;max-width:40rem;margin:auto}.wave-divider{color:var(--color-muted);opacity:.7;margin:.5rem 0;display:block}[data-theme=light] .wave-divider{color:var(--color-muted);opacity:.5}
