.skip-link{position:absolute;left:-9999px;z-index:999;padding:.75rem 1rem;background:var(--background);color:var(--foreground);border:2px solid var(--accent);font-family:inherit;text-decoration:none}.skip-link:focus{left:1rem;top:1rem;outline:2px solid var(--accent);outline-offset:2px}.menu.menu--mobile .menu__trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.terminal-cursor{animation:none!important;opacity:1}}.cv-section{margin:2rem 0;border:1px solid var(--accent);padding:1rem}.cv-section summary{cursor:pointer;font-weight:700;margin-bottom:1rem;list-style:none;display:flex;align-items:center}.cv-section summary::-webkit-details-marker{display:none}.cv-section summary::before{content:"▶ ";display:inline-block;margin-right:.5rem;flex-shrink:0}.cv-section[open] summary::before{content:"▼ "}.cv-section details:not(.cv-section) summary{cursor:pointer;list-style:none;display:flex;align-items:center}.cv-section details:not(.cv-section) summary::-webkit-details-marker{display:none}.cv-section details:not(.cv-section) summary::before{content:"▶ ";display:inline-block;margin-right:.5rem;flex-shrink:0}.cv-section details:not(.cv-section)[open] summary::before{content:"▼ "}.cv-section details:not(.cv-section) summary h2{display:inline;margin:0;font-size:inherit;font-weight:inherit}.cv-entries{display:flex;flex-direction:column;gap:2rem}.cv-entry{display:flex;gap:1.5rem;padding:1rem 0;border-bottom:1px solid var(--accent)}.cv-entry:last-child{border-bottom:none}.cv-entry-logo{flex-shrink:0;width:64px;height:64px;display:flex;align-items:center;justify-content:center}.cv-logo{width:64px;height:64px;object-fit:contain;border:1px solid var(--accent);padding:0 4px;margin:0}.cv-logo-placeholder{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border:1px solid var(--accent);font-family:monospace}.cv-entry-content{flex:1;min-width:0}.cv-entry-header{margin-bottom:.5rem}.cv-entry-title{margin:0 0 .25rem;font-size:1.2em}.cv-entry-org{margin-bottom:.5rem;font-weight:700}.cv-entry-org a{color:var(--accent);text-decoration:none}.cv-entry-org a:hover{text-decoration:underline}.cv-entry-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem;font-size:.9em;color:var(--color);opacity:.8}.cv-entry-dates,.cv-entry-location{white-space:nowrap}.cv-entry-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.cv-tag{display:inline-block;padding:.25rem .5rem;border:1px solid var(--accent);font-size:.85em;font-family:monospace;background:var(--background)}.cv-entry-summary{margin:.5rem 0;font-style:italic}.cv-entry-bullets{margin:.5rem 0;padding-left:1.5rem}.cv-entry-body{margin:1rem 0}.cv-entry-links{display:flex;flex-direction:column;gap:1rem;margin:1rem 0}.link-card{display:flex;gap:1rem;border:1px solid var(--accent);padding:1rem;font-family:monospace}.link-card-image{flex-shrink:0;width:120px;height:80px;overflow:hidden}.link-card-image img{width:100%;height:100%;object-fit:cover}.link-card-content{flex:1;min-width:0}.link-card-title{margin:0 0 .5rem;font-size:1em}.link-card-title a{color:var(--accent);text-decoration:none}.link-card-title a:hover{text-decoration:underline}.link-card-description{margin:.5rem 0;font-size:.9em;opacity:.9}.link-card-url{font-size:.85em;opacity:.7;word-break:break-all}.cv-entry-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin:1rem 0}.cv-gallery-image{width:100%;height:auto;border:1px solid var(--accent);padding:4px}.skill-item{display:inline;vertical-align:baseline}.skill-name{display:inline}.skill-icon-container{display:inline-block;width:1em;margin-right:.5rem;vertical-align:baseline;text-align:center}.skill-icon-mask{display:inline-block;width:1em;height:1em;vertical-align:baseline;margin:0;background-color:var(--accent);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;position:relative;top:.15em}.skill-icon{width:1em;height:1em;display:inline-block;vertical-align:middle;margin:0;margin-top:0;margin-bottom:0;border:0;outline:0;padding:0;box-sizing:border-box}.cv-entry-content ul{padding-left:0}.cv-entry-content ul>li{display:list-item;padding:0;margin:0;line-height:var(--line-height,1.54em);list-style-position:outside}.cv-entry-content ul>li .skill-item{display:inline;line-height:inherit;vertical-align:baseline}.cv-entry-content ul ul{margin-left:1.5rem;margin-top:.5rem;margin-bottom:.5rem;width:100%}.cv-entry-content ul ul li{display:list-item}.cv-entry-content ul ul ul{margin-left:1.5rem;margin-top:.5rem;margin-bottom:.5rem}.cv-entry-content ul ul ul li{display:list-item}.cv-entry-content ul ul ul ul{margin-left:1.5rem;margin-top:.5rem;margin-bottom:.5rem}.cv-entry-content ul ul ul ul li{display:list-item}.home-name{font-size:1.8em;color:var(--foreground);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent)}.terminal-cursor{display:inline;color:var(--accent);margin-left:.15em;animation:blink 1s infinite;font-weight:400;font-size:.85em}@keyframes blink{0%,49%{opacity:1}50%,100%{opacity:0}}.home-pill{display:inline-block;padding:.25rem .5rem;border:1px solid var(--accent);font-size:.85em;font-family:monospace;background:var(--background);margin:.25rem .25rem .25rem 0;white-space:nowrap}.home-pill:first-of-type{margin-left:0}.home-description{border:1px solid var(--accent);padding:1.5rem;margin:2rem 0}.home-latest{margin:2rem 0 0;padding:1.25rem 1.5rem;border:1px solid var(--accent);font-family:monospace}.home-latest__title{margin:0 0 1rem;font-size:1.1em;font-weight:700;color:var(--accent)}.home-latest__list{margin:0;padding-left:1.25rem;list-style:square}.home-latest__item{margin:.35rem 0;line-height:var(--line-height,1.54em)}.home-latest__link{color:var(--foreground);text-decoration:none}.home-latest__link:hover,.home-latest__link:focus{color:var(--accent);text-decoration:underline}.home-latest__more{margin:1rem 0 0}.index-content h1:not(.home-name){position:relative;color:var(--accent);margin-top:0!important;margin-bottom:15px!important;padding-bottom:15px;border-bottom:3px dotted var(--accent);text-decoration:none!important}.index-content h1:not(.home-name)::after{content:"";position:absolute;bottom:2px;display:block;width:100%;border-bottom:3px dotted var(--accent)}.post-content ul a[href]::before,.post-content ol a[href]::before{content:"";display:inline-block;width:1em;height:1em;margin-right:.5rem;vertical-align:middle}.post-content ul a[href*="github.com"]::before,.post-content ol a[href*="github.com"]::before{background-color:var(--accent);-webkit-mask-image:url(https://cdn.jsdelivr.net/npm/simple-icons@v11/icons/github.svg);mask-image:url(https://cdn.jsdelivr.net/npm/simple-icons@v11/icons/github.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.post-content ul a[href*="linkedin.com"]::before,.post-content ol a[href*="linkedin.com"]::before{background-color:var(--accent);-webkit-mask-image:url(https://cdn.jsdelivr.net/npm/simple-icons@v11/icons/linkedin.svg);mask-image:url(https://cdn.jsdelivr.net/npm/simple-icons@v11/icons/linkedin.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.post-content ul a[href*=".pdf"]::before,.post-content ol a[href*=".pdf"]::before{background-color:var(--accent);-webkit-mask-image:url(https://api.iconify.design/material-symbols:description.svg);mask-image:url(https://api.iconify.design/material-symbols:description.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.post-content ul a[href^="http://"]:not([href*="github.com"]):not([href*="linkedin.com"])::before,.post-content ul a[href^="https://"]:not([href*="github.com"]):not([href*="linkedin.com"])::before,.post-content ol a[href^="http://"]:not([href*="github.com"]):not([href*="linkedin.com"])::before,.post-content ol a[href^="https://"]:not([href*="github.com"]):not([href*="linkedin.com"])::before{background-color:var(--accent);-webkit-mask-image:url(https://api.iconify.design/material-symbols:link.svg);mask-image:url(https://api.iconify.design/material-symbols:link.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}.coming-soon{font-size:1.2em;font-weight:400;color:var(--accent);margin:1.5rem 0 .5rem;opacity:.8;font-style:italic}.contact-form{border:1px solid var(--accent);padding:1.5rem;margin:2rem 0;font-family:monospace}.contact-form label{display:block;margin-bottom:1.5rem}.contact-form label:last-of-type{margin-bottom:0}.contact-form input[type=email],.contact-form textarea{display:block;width:100%;margin-top:.5rem;font-family:inherit}.contact-form textarea{min-height:150px;resize:vertical}.contact-form-submit{margin-top:1.5rem;text-align:right}.contact-form-submit button{font-family:monospace}.post-content h2+hr{margin-top:.5rem;margin-bottom:1.5rem}.post-content h2:not(:first-child){margin-top:3rem;margin-bottom:.5rem}@media(max-width:684px){.cv-entry{flex-direction:column}.cv-entry-logo{width:48px;height:48px}.cv-logo{width:48px;height:48px}.cv-logo-placeholder{width:48px;height:48px}.link-card{flex-direction:column}.link-card-image{width:100%;height:150px}.contact-form-submit{text-align:center}}