.articles[data-astro-cid-agvxh3sa]{padding-block:var(--space-10);& .articles__list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}& .articles__footer{margin-top:var(--space-6);justify-content:center;display:flex;& .articles__cta{padding:var(--space-3) var(--space-5);background:var(--color-accent-primary);color:var(--color-text-inverse);font-family:var(--font-family-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-wide);border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--easing-standard);&:hover{background:#64d7ff}}}}.article-card[data-astro-cid-agvxh3sa]{border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);transition:border-color var(--duration-base) var(--easing-standard);background:#11173a80;border-left-width:3px;&:hover,&:focus-within{border-color:var(--color-border-accent)}&.article-card--architecture{border-left-color:#a870ff}&.article-card--career{border-left-color:#2ee08f}&.article-card--css{border-left-color:#ff5fa2}&.article-card--ai{border-left-color:#3bc7ff}&.article-card--frontend{border-left-color:#ff9e5c}&.article-card--testing{border-left-color:#ffd166}&.article-card--other{border-left-color:var(--color-border-accent)}& .article-card__link{gap:var(--space-4);padding:var(--space-5);color:inherit;border-radius:inherit;display:grid;@media (width>=720px){grid-template-columns:140px 1fr;align-items:start}}& .article-card__meta{gap:var(--space-1);font-family:var(--font-family-mono);flex-direction:column;display:flex;& .article-card__date{font-size:var(--font-size-xs);color:var(--color-text-muted)}& .article-card__category{width:fit-content;padding:var(--space-1) var(--space-2);background:var(--color-bg-elevated);border-radius:var(--radius-xs);font-size:var(--font-size-2xs);color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-wide);display:inline-block}}& .article-card__link:hover .article-card__cta{text-decoration:underline}& .article-card__body{& .article-card__title{margin:0 0 var(--space-2);font-family:var(--font-family-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-snug)}& .article-card__excerpt{margin:0 0 var(--space-3);font-size:var(--font-size-sm);line-height:var(--line-height-loose);color:var(--color-text-secondary)}& .article-card__cta{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-accent-primary);letter-spacing:var(--letter-spacing-wide);display:inline-block}}}.career[data-astro-cid-zoljfax7]{padding-block:var(--space-10);& .career__timeline{padding:0 0 0 var(--space-4);margin:0;list-style:none;position:relative;&:before{content:"";top:var(--space-4);bottom:var(--space-4);background:linear-gradient(to bottom, transparent, var(--color-border-accent), var(--color-border-accent), transparent);width:1px;position:absolute;left:0}}& .career__item{padding-bottom:var(--space-5);position:relative;&:last-child{padding-bottom:0}& .career__dot{top:var(--space-5);left:calc(var(--space-4) * -1);border-radius:var(--radius-pill);background:var(--color-accent-primary);width:10px;height:10px;box-shadow:0 0 12px var(--color-accent-primary);position:absolute;transform:translate(-50%,-50%)}}& .career__card{padding:var(--space-5) var(--space-5);border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);backdrop-filter:blur(8px);background:#11173a8c;& .career__period{margin:0 0 var(--space-2);font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);letter-spacing:var(--letter-spacing-wide)}& .career__role{margin:0 0 var(--space-1);font-family:var(--font-family-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}& .career__company{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-accent-primary);& .career__company-link{color:inherit;border-bottom:var(--border-width-thin) solid transparent;transition:border-color var(--duration-fast) var(--easing-standard);text-decoration:none;&:hover,&:focus-visible{border-bottom-color:currentColor}}}& .career__desc{margin:0 0 var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-loose)}& .career__tech{gap:var(--space-2);font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex;& .career__tech-item{align-items:center;gap:var(--space-2);display:inline-flex}& .career__tech-sep{color:var(--color-text-muted);opacity:.5}}}}.availability[data-astro-cid-dfktliq5]{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);border:var(--border-width-thin) solid #2ee08f59;font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-wider);color:var(--color-accent-success);background:#2ee08f1a;display:inline-flex;& .availability__dot{border-radius:var(--radius-pill);background:currentColor;width:6px;height:6px;box-shadow:0 0 8px}&.availability--busy{color:#fa3;background:#ffaa331a;border-color:#ffaa3359}&.availability--unavailable{color:#ff6478;background:#ff64781a;border-color:#ff647859}}.social-link-button[data-astro-cid-enwcv6hq]{padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:var(--border-width-thin) solid var(--color-border-muted);color:var(--color-text-secondary);font-family:var(--font-family-mono);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wide);transition:color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard), background-color var(--duration-fast) var(--easing-standard);background:0 0;align-items:center;display:inline-flex;&:hover{color:var(--color-accent-primary);border-color:var(--color-border-accent);background:#3bc7ff0d}}.tech-chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-secondary);border:var(--border-width-thin) solid var(--color-border-muted);transition:color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard);background:0 0;align-items:center;display:inline-flex;&:hover{color:var(--color-accent-primary);border-color:var(--color-border-accent)}&.tech-chip--solid{background:var(--color-bg-elevated);color:var(--color-text-primary)}}.hero[data-astro-cid-oryqwh2j]{padding-block:var(--space-10) var(--space-11);& .hero__container{gap:var(--space-6);display:grid;position:relative}& .hero__header{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex;& .hero__name{font-family:var(--font-family-display);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--color-text-primary);margin:0}& .hero__role{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-wide);margin:0}& .hero__divider{background:linear-gradient(90deg, transparent, var(--color-accent-primary), transparent);opacity:.55;width:200px;height:1px}}& .hero__content{gap:var(--space-6);text-align:center;place-items:center;display:grid;& .hero__bio{margin:0 0 var(--space-5);font-size:var(--font-size-md);line-height:var(--line-height-loose);color:var(--color-text-secondary);max-width:52ch}& .hero__actions{justify-content:center;gap:var(--space-3);flex-wrap:wrap;display:flex}}& .hero__tech{justify-content:center;gap:var(--space-2);margin:var(--space-5) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex;& .hero__tech-item{display:inline-flex}}@media (width>=960px){& .hero__container,& .hero__content{gap:var(--space-8)}}}.project-icon{color:var(--color-accent-primary);justify-content:center;align-items:center;display:inline-flex;& svg{width:100%;height:100%}&.project-icon--sm{width:24px;height:24px}&.project-icon--md{width:40px;height:40px}&.project-icon--lg{width:64px;height:64px}}.project-card{width:100%;height:100%;margin:0;padding:0;list-style:none;display:flex;& .project-card__trigger{align-items:flex-start;gap:var(--space-3);padding:var(--space-5);text-align:start;border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-lg);width:100%;color:inherit;cursor:pointer;font:inherit;transition:transform var(--duration-base) var(--easing-emphasized), border-color var(--duration-base) var(--easing-emphasized), box-shadow var(--duration-base) var(--easing-emphasized);background:#11173a80;flex-direction:column;display:flex;position:relative;&:hover,&:focus-visible{border-color:var(--color-border-accent);box-shadow:var(--shadow-glow-accent);transform:translateY(-4px)}&:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:4px}&:hover .project-card__cta,&:focus-visible .project-card__cta{opacity:1;transform:translate(2px)}}& .project-card__icon{display:inline-flex}& .project-card__title{font-family:var(--font-family-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}& .project-card__desc{font-size:var(--font-size-sm);line-height:var(--line-height-loose);color:var(--color-text-secondary);flex-grow:1;margin:0}& .project-card__tech{gap:var(--space-2);margin:var(--space-2) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}& .project-card__cta{margin-top:var(--space-2);font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-accent-primary);letter-spacing:var(--letter-spacing-wide);opacity:.7;transition:opacity var(--duration-fast) var(--easing-standard), transform var(--duration-fast) var(--easing-standard);display:inline-block}}.source-code-menu{position:relative;& .source-code-menu__toggle{cursor:pointer;& .source-code-menu__caret{font-size:var(--font-size-xs);transition:transform var(--duration-fast) var(--easing-standard)}&[aria-expanded=true] .source-code-menu__caret{transform:rotate(-180deg)}}& .source-code-menu__panel{bottom:calc(100% + var(--space-2));z-index:var(--z-modal);min-width:160px;padding:var(--space-1);background:var(--color-bg-elevated);border:var(--border-width-thin) solid var(--color-border-accent);border-radius:var(--radius-md);box-shadow:var(--shadow-card), var(--shadow-glow-accent);flex-direction:column;margin:0;list-style:none;display:flex;position:absolute;right:0}& .source-code-menu__item{padding:var(--space-2) var(--space-3);font-family:var(--font-family-mono);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:background-color var(--duration-fast) var(--easing-standard), color var(--duration-fast) var(--easing-standard);text-decoration:none;display:block;&:hover,&:focus-visible{color:var(--color-accent-primary);background:#3bc7ff14;outline:none}}}.project-dialog{border:var(--border-width-thin) solid var(--color-border-accent);border-radius:var(--radius-xl);background:var(--color-bg-elevated);width:min(780px,100vw - 2rem);max-height:calc(100vh - 2rem);color:var(--color-text-primary);box-shadow:0 20px 80px -20px #000c, var(--shadow-glow-accent);margin:auto;padding:0;overflow:hidden;&[open]{animation:project-dialog-enter .26s var(--easing-emphasized) both}&[data-closing]{animation:project-dialog-exit .18s var(--easing-standard) both}&::backdrop{backdrop-filter:blur(6px);background:#07091ab8}&[open]::backdrop{animation:.26s ease-out both project-dialog-backdrop-enter}&[data-closing]::backdrop{animation:.18s ease-in both project-dialog-backdrop-exit}& .project-dialog__inner{flex-direction:column;max-height:calc(100vh - 2rem);display:flex;overflow:hidden}& .project-dialog__header{padding:var(--space-4) var(--space-5);border-bottom:var(--border-width-thin) solid var(--color-border-subtle);justify-content:space-between;align-items:center;display:flex;& .project-dialog__eyebrow{font-family:var(--font-family-mono);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wider);color:var(--color-accent-primary)}& .project-dialog__close{border-radius:var(--radius-md);width:32px;height:32px;font-size:var(--font-size-xl);color:var(--color-text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--easing-standard), background-color var(--duration-fast) var(--easing-standard);background:0 0;border:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex;&:hover,&:focus-visible{color:var(--color-accent-primary);background:#3bc7ff14}}}& .project-dialog__cover{aspect-ratio:16/8;background:radial-gradient(ellipse at 30% 30%, #7c5cff59, transparent 55%), radial-gradient(ellipse at 70% 70%, #3bc7ff40, transparent 55%), var(--color-bg-card);position:relative;overflow:hidden;& .project-dialog__cover-image{object-fit:cover;width:100%;height:100%}& .project-dialog__cover-placeholder{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}& .project-dialog__coords{top:var(--space-3);left:var(--space-4);font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);opacity:.75;position:absolute}}& .project-dialog__body{padding:var(--space-5);gap:var(--space-5);flex-direction:column;display:flex;overflow-y:auto;& .project-dialog__mission{font-family:var(--font-family-mono);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-wider);color:var(--color-accent-primary);margin:0}& .project-dialog__title{font-family:var(--font-family-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0}& .project-dialog__description{font-size:var(--font-size-sm);line-height:var(--line-height-loose);color:var(--color-text-secondary);margin:0}}& .project-dialog__meta{gap:var(--space-3);padding:var(--space-4);border:var(--border-width-thin) solid var(--color-border-subtle);border-radius:var(--radius-md);background:#07091a99;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid;@media (width>=640px){grid-template-columns:repeat(4,minmax(0,1fr))}& .project-dialog__meta-item{gap:var(--space-1);flex-direction:column;margin:0;display:flex}& .project-dialog__meta-label{font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-wider);color:var(--color-text-muted)}& .project-dialog__meta-value{font-size:var(--font-size-sm);color:var(--color-text-primary);margin:0}}& .project-dialog__group{gap:var(--space-3);flex-direction:column;display:flex;& .project-dialog__group-label{font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-wider);color:var(--color-accent-primary);margin:0}}& .project-dialog__tech{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}& .project-dialog__features{gap:var(--space-2);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid;@media (width>=640px){grid-template-columns:1fr 1fr}& .project-dialog__feature{align-items:flex-start;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex;& .project-dialog__feature-check{color:var(--color-accent-success);font-weight:var(--font-weight-bold)}}}& .project-dialog__footer{align-items:stretch;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:var(--border-width-thin) solid var(--color-border-subtle);background:#07091a80;flex-direction:column-reverse;display:flex;@media (width>=640px){flex-direction:row;justify-content:space-between;align-items:center}& .project-dialog__footer-close{padding:var(--space-2) var(--space-3);font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:color var(--duration-fast) var(--easing-standard);background:0 0;border:0;&:hover,&:focus-visible{color:var(--color-accent-primary)}}& .project-dialog__footer-actions{gap:var(--space-2);flex-direction:column-reverse;display:flex;@media (width>=640px){flex-direction:row}}}& .project-dialog__button{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-family-mono);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-wide);border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard), color var(--duration-fast) var(--easing-standard);display:inline-flex;&.project-dialog__button--outline{border:var(--border-width-thin) solid var(--color-border-muted);color:var(--color-text-secondary);background:0 0;&:hover,&:focus-visible{color:var(--color-accent-primary);border-color:var(--color-border-accent);background:#3bc7ff0f}}&.project-dialog__button--primary{background:var(--color-accent-primary);border:var(--border-width-thin) solid var(--color-accent-primary);color:var(--color-text-inverse);font-weight:var(--font-weight-medium);&:hover,&:focus-visible{background:#64d7ff;border-color:#64d7ff}}}}@keyframes project-dialog-enter{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes project-dialog-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes project-dialog-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes project-dialog-backdrop-exit{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.project-dialog[open],.project-dialog[data-closing],.project-dialog[open]::backdrop,.project-dialog[data-closing]::backdrop{animation:none}}.projects-grid{gap:var(--space-4);grid-template-columns:1fr;margin:0;padding:0;list-style:none;display:grid;@media (width>=720px){grid-template-columns:1fr 1fr}@media (width>=1024px){grid-template-columns:repeat(3,1fr)}& .projects-grid__item{display:flex}}.projects[data-astro-cid-jbhrixt4]{padding-block:var(--space-10)}
