html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;scroll-behavior:smooth}html,body{margin:0;padding:0;width:100%;min-height:100%;background-color:#fff;color:#333;line-height:1.6}[data-astro-cid-sckkx6r4]:focus{outline:2px solid #2563eb;outline-offset:2px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}[data-astro-cid-sckkx6r4],[data-astro-cid-sckkx6r4]:before,[data-astro-cid-sckkx6r4]:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--color-primary: #141413;--color-accent: #2f7d64;--color-accent-strong: #e0573f;--color-white: #ffffff;--color-black: #000000;--color-accent-light: #7fc1aa;--color-accent-dark: #215845;--color-primary-light: #242321;--color-primary-dark: #0c0c0b;--color-surface: #f8f5ef;--color-surface-muted: #eee7dc;--color-background: #11110f;--color-text-primary: var(--color-white);--color-text-secondary: rgba(255, 255, 255, .78);--color-text-muted: rgba(255, 255, 255, .58);--color-ink: #161615;--color-hover-overlay: rgba(255, 255, 255, .1);--color-active-overlay: rgba(255, 255, 255, .2);--color-focus-ring: #7fc1aa;--font-family-primary: "Anonymous Pro", "Courier New", monospace;--font-family-fallback: "Courier New", monospace;--font-weight-normal: 400;--font-weight-bold: 700;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.375rem;--font-size-2xl: 1.75rem;--font-size-3xl: 2.25rem;--font-size-4xl: 3rem;--line-height-tight: 1.1;--line-height-normal: 1.4;--line-height-relaxed: 1.6;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 2.5rem;--space-4xl: 3rem;--space-5xl: 4rem;--space-6xl: 5rem;--space-section: clamp(2rem, 5vw, 4rem);--space-container: clamp(1rem, 3vw, 3rem);--space-card: clamp(1.5rem, 4vw, 3rem);--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 8px;--radius-2xl: 8px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--shadow-card: 0 12px 30px rgba(0, 0, 0, .16);--shadow-card-hover: 0 18px 42px rgba(0, 0, 0, .22);--shadow-card-focus: 0 0 0 4px rgba(127, 193, 170, .2);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--transition-all: all var(--transition-normal);--transition-transform: transform var(--transition-normal);--transition-opacity: opacity var(--transition-fast);--transition-colors: color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);--z-base: 0;--z-dropdown: 10;--z-sticky: 20;--z-fixed: 30;--z-modal: 40;--z-popover: 50;--z-tooltip: 60;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--grid-gap: var(--space-xl);--grid-gap-sm: var(--space-lg);--grid-gap-lg: var(--space-2xl);--container-max-width: 1200px;--card-min-width: 350px;--card-max-width: 500px;--ease-in-out-cubic: cubic-bezier(.4, 0, .2, 1);--ease-out-cubic: cubic-bezier(0, 0, .2, 1);--ease-in-cubic: cubic-bezier(.4, 0, 1, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55)}@media (prefers-contrast: high){:root{--color-text-secondary: var(--color-white);--color-text-muted: rgba(255, 255, 255, .9);--shadow-card: 0px 4px 8px rgba(0, 0, 0, .5);--shadow-card-hover: 0px 8px 20px rgba(0, 0, 0, .6)}}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0ms;--transition-normal: 0ms;--transition-slow: 0ms}}.portfolio-container{min-height:100vh;box-sizing:border-box;padding:var(--space-xl);background:linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),var(--color-background);background-size:48px 48px;color:var(--color-text-primary);font-family:var(--font-family-primary)}.portfolio-header{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:var(--space-xl);width:min(100%,var(--container-max-width));margin:0 auto;padding:var(--space-xl) 0 var(--space-2xl)}.brand-mark{display:grid;width:4.5rem;height:4.5rem;place-items:center;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-ink);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:1;text-decoration:none;box-shadow:var(--shadow-card)}.intro-copy{max-width:760px}.eyebrow{margin:0 0 var(--space-sm);color:var(--color-accent-light);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:0;text-transform:uppercase}.intro-copy h1,.section-heading h2{margin:0;color:var(--color-text-primary);font-size:var(--font-size-4xl);line-height:var(--line-height-tight)}.role-title{max-width:680px;margin:var(--space-lg) 0 0;color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.profile-links{grid-column:2;display:flex;flex-wrap:wrap;gap:var(--space-sm)}.profile-links a{display:inline-flex;min-height:2.5rem;align-items:center;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-md);padding:0 var(--space-lg);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-decoration:none;transition:var(--transition-colors),transform var(--transition-fast)}.profile-links a:hover{border-color:var(--color-accent-light);color:var(--color-accent-light);transform:translateY(-1px)}.portfolio-summary,.portfolio-main{width:min(100%,var(--container-max-width));margin:0 auto}.portfolio-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);background:#ffffff1f}.portfolio-summary>div{min-width:0;padding:var(--space-lg);background:#ffffff0d}.summary-value,.summary-label{display:block}.summary-value{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}.summary-label{margin-top:var(--space-xs);color:var(--color-text-muted);font-size:var(--font-size-sm)}.portfolio-main{padding:var(--space-4xl) 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-xl);margin-bottom:var(--space-xl)}.section-heading h2{font-size:var(--font-size-2xl)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:var(--space-lg)}.portfolio-card{min-height:20rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-ink);box-shadow:var(--shadow-card);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.portfolio-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card-hover)}.portfolio-card:focus-within{box-shadow:var(--shadow-card),var(--shadow-card-focus)}.card-content{display:flex;min-height:100%;flex-direction:column;padding:var(--space-xl)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-lg)}.project-title{min-width:0;margin:0;color:var(--color-ink);font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.project-title a{color:inherit;text-decoration:none}.project-title a:hover{color:var(--color-accent-dark);text-decoration:underline;text-underline-offset:.2em}.project-status{flex:0 0 auto;max-width:9rem;border:1px solid rgba(22,22,21,.12);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-sm);color:var(--color-accent-dark);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:var(--line-height-normal);overflow-wrap:anywhere}.project-description{margin:var(--space-lg) 0 0;color:#161615b8;font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.tech-tags{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin:auto 0 var(--space-xl);padding:var(--space-xl) 0 0;list-style:none}.tech-tag{border-radius:var(--radius-md);background:var(--color-surface-muted);padding:var(--space-xs) var(--space-sm);color:#161615c2;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.project-date{display:block;margin-top:auto;border-top:1px solid rgba(22,22,21,.12);padding-top:var(--space-lg);color:#16161594;font-size:var(--font-size-sm)}.state-message{border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);background:#ffffff0f;padding:var(--space-xl);color:var(--color-text-secondary)}.state-message p{margin:0}.state-message-error{border-color:#e0573f8c;color:#ffc4b9}@media (max-width: 760px){.portfolio-container{padding:var(--space-lg)}.portfolio-header{grid-template-columns:1fr;gap:var(--space-lg)}.profile-links{grid-column:auto}.intro-copy h1{font-size:var(--font-size-3xl)}.portfolio-summary{grid-template-columns:1fr}.section-heading,.card-header{display:block}.project-status{display:inline-block;margin-top:var(--space-md)}}@media (prefers-reduced-motion: reduce){.portfolio-card,.profile-links a{transition:none}.portfolio-card:hover,.profile-links a:hover{transform:none}}
