@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;background:0 0;border:none}}@layer tokens{:root{--palette-white:#fff;--palette-grey-100:#f5f5f5;--palette-grey-400:#a3a3a3;--palette-grey-700:#404040;--palette-black:#000;--buncss-light:initial;--buncss-dark: ;--buncss-light:initial;--buncss-dark: ;color-scheme:light;--color-bg-primary:var(--palette-white);--color-bg-secondary:var(--palette-white);--color-bg-elevated:var(--palette-white);--color-bg-hover:var(--palette-grey-100);--color-text-primary:var(--palette-black);--color-text-secondary:var(--palette-grey-700);--color-text-tertiary:#737373;--color-accent:#262626;--color-accent-secondary:#525252;--color-accent-hover:var(--palette-black);--color-accent-muted:#0000000f;--color-accent-shine:#a3a3a3;--color-border:#e5e5e5;--color-border-hover:#d4d4d4;--color-error:#ef4444;--gradient-text-shine-duration:18s;--gradient-text-shine-size:140%;--gradient-text-shine-from:47%;--gradient-text-shine-to:53%;--gradient-text:linear-gradient(110deg,var(--palette-black)0%,var(--palette-grey-700)22%,#525252 40%,#737373 50%,#525252 60%,var(--palette-grey-700)78%,var(--palette-black)100%);--color-wave:transparent;--page-hero-bg:var(--palette-black);--page-hero-text:var(--palette-white);--page-hero-text-muted:#ffffff8c;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 6px #00000014;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #0000001f}[data-theme=dark]{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--color-bg-primary:var(--palette-black);--color-bg-secondary:var(--palette-black);--color-bg-elevated:#0a0a0a;--color-bg-hover:#ffffff0f;--color-text-primary:var(--palette-white);--color-text-secondary:var(--palette-grey-400);--color-text-tertiary:#a3a3a3;--color-accent:#e5e5e5;--color-accent-secondary:var(--palette-grey-400);--color-accent-hover:var(--palette-white);--color-accent-muted:#ffffff14;--color-accent-shine:var(--palette-white);--color-border:#262626;--color-border-hover:#404040;--gradient-text:linear-gradient(110deg,#a3a3a3 0%,#d4d4d4 22%,var(--palette-grey-400)40%,var(--palette-white)50%,var(--palette-grey-400)60%,#d4d4d4 78%,#a3a3a3 100%);--color-wave:transparent;--page-hero-bg:var(--palette-white);--page-hero-text:var(--palette-black);--page-hero-text-muted:#0000008c;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #00000059;--shadow-lg:0 10px 15px #0006;--shadow-xl:0 20px 25px #00000073}}@layer tokens{:root{--font-sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:ui-monospace,"SFMono-Regular",Consolas,monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--weight-medium:500;--weight-semibold:600;--weight-bold:700}}@layer tokens{:root{--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-52:10rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--motion-ease-out:cubic-bezier(.16,1,.3,1);--transition-fast:.2s var(--motion-ease-out);--transition-normal:.35s var(--motion-ease-out);--transition-slow:.55s var(--motion-ease-out);--content-prose-width:42rem;--content-narrow-width:48rem;--content-max-width:84rem;--header-height:4rem;--z-dropdown:100;--z-sticky:200;--z-overlay:300}}@layer tokens;@layer base{@layer base{html{font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg-primary);scroll-behavior:smooth;transition:background-color var(--transition-normal),color var(--transition-normal);font-size:16px}body{display:flex;background:var(--color-bg-primary);flex-direction:column;min-height:100dvh}#root{display:flex;overflow-x:clip;flex-direction:column;min-height:100dvh}::selection{background:var(--color-accent-muted);color:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}a:hover{color:var(--color-accent)}code{font-family:var(--font-mono);background:var(--color-bg-elevated);border-radius:var(--radius-sm);padding:.15em .4em;font-size:.9em}pre{font-family:var(--font-mono);background:var(--color-bg-elevated);padding:var(--space-4);border-radius:var(--radius-md);overflow-x:auto}pre code{background:0 0;padding:0}}}@layer utilities{@layer utilities{.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0}}}@keyframes text-gradient-shine{0%{background-position:var(--gradient-text-shine-from,47%)50%}to{background-position:var(--gradient-text-shine-to,53%)50%}}.text-gradient{display:inline-block;background-image:var(--gradient-text);-webkit-text-fill-color:transparent;color:#0000;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;-webkit-background-clip:text;background-clip:text;padding-inline-end:.12em}.typewriter-text-value{display:inline-block;background-image:var(--typewriter-gradient,var(--gradient-text));background-repeat:no-repeat;background-size:var(--gradient-text-shine-size,140%)100%;background-position:var(--gradient-text-shine-from,47%)50%;-webkit-text-fill-color:transparent;color:#0000;animation:text-gradient-shine var(--gradient-text-shine-duration,18s)ease-in-out infinite alternate;-webkit-background-clip:text;background-clip:text}.gradient-shine-surface{background-image:var(--gradient-text);background-repeat:no-repeat;background-size:var(--gradient-text-shine-size,140%)100%;background-position:var(--gradient-text-shine-from,47%)50%;animation:text-gradient-shine var(--gradient-text-shine-duration,18s)ease-in-out infinite alternate}@media (prefers-reduced-motion:reduce){.typewriter-text-value,.gradient-shine-surface{animation:none;background-position:50%;background-size:100% 100%}}@layer components{.detail-loading,.detail-error{padding:var(--space-8)0;text-align:center;color:var(--color-text-secondary)}.detail-error{color:var(--color-error)}.detail-glow{position:relative;--detail-glow-opacity:.55;--page-brand-gradient:var(--page-brand-gradient-light)}.detail-themed{--detail-visible-accent:var(--detail-accent-light);--detail-visible-accent-hover:var(--detail-accent-hover-light);--detail-visible-heading-gradient-start:var(--detail-heading-gradient-start-light,var(--detail-visible-accent));--detail-visible-heading-gradient-end:var(--detail-heading-gradient-end-light,var(--detail-visible-accent-hover));--detail-tech-pill-background:color-mix(in srgb,var(--detail-visible-accent)12%,transparent)}[data-theme=dark] .detail-themed{--detail-visible-accent:var(--detail-accent-dark);--detail-visible-accent-hover:var(--detail-accent-hover-dark);--detail-visible-heading-gradient-start:var(--detail-heading-gradient-start-dark,var(--detail-visible-accent));--detail-visible-heading-gradient-end:var(--detail-heading-gradient-end-dark,var(--detail-visible-accent-hover));--detail-tech-pill-background:color-mix(in srgb,var(--detail-visible-accent)18%,transparent)}[data-theme=dark] .project-detail-page.detail-glow,[data-theme=dark] .career-detail-page.detail-glow{--page-brand-gradient:var(--page-brand-gradient-dark,var(--page-brand-gradient-light));--detail-glow-opacity:.7}.detail-glow:before{content:"";position:absolute;background:var(--page-brand-gradient);opacity:var(--detail-glow-opacity);-webkit-mask-image:linear-gradient(#000 0%,#0000 100%);mask-image:linear-gradient(#000 0%,#0000 100%);pointer-events:none;z-index:0;height:100dvh;top:0;left:0;right:0}.detail-glow>*{position:relative;z-index:1}}@layer components{.career-theme--swisscom{--detail-accent-light:#003789;--detail-accent-dark:#5076ae;--detail-accent-hover-light:#002a66;--detail-accent-hover-dark:#5a769c;--detail-heading-gradient-start-light:#003789;--detail-heading-gradient-start-dark:#5076ae;--detail-heading-gradient-end-light:#ec0a1c;--detail-heading-gradient-end-dark:#ec0a1c;--page-hero-brand-gradient-light:radial-gradient(70% 120% at 12% 18%,#0037894d,transparent 60%),radial-gradient(65% 120% at 88% 28%,#ec0a1c38,transparent 60%);--page-hero-brand-gradient-dark:radial-gradient(70% 120% at 12% 18%,#3f75c26b,transparent 60%),radial-gradient(65% 120% at 88% 28%,#ff3d4d4d,transparent 60%);--page-brand-gradient-light:radial-gradient(70% 120% at 12% 18%,#0037894d,transparent 60%),radial-gradient(65% 120% at 88% 28%,#ec0a1c38,transparent 60%);--page-brand-gradient-dark:radial-gradient(70% 120% at 12% 18%,#3f75c26b,transparent 60%),radial-gradient(65% 120% at 88% 28%,#ff3d4d4d,transparent 60%)}.career-theme--axelra{--detail-accent-light:#6365f0;--detail-accent-dark:#6366f1;--detail-accent-hover-light:#4f46e5;--detail-accent-hover-dark:#6962e9;--detail-heading-gradient-start-light:#4338ca;--detail-heading-gradient-start-dark:#6e66d6;--detail-heading-gradient-end-light:#6365f0;--detail-heading-gradient-end-dark:#6366f1;--page-hero-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#6366f14d,transparent 60%),radial-gradient(60% 120% at 85% 25%,#8b5cf633,transparent 60%);--page-hero-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#818cf86b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#b084ff4d,transparent 60%);--page-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#6366f14d,transparent 60%),radial-gradient(60% 120% at 85% 25%,#8b5cf633,transparent 60%);--page-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#818cf86b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#b084ff4d,transparent 60%)}.career-theme--defi-suisse{--detail-accent-light:#0b7eb3;--detail-accent-dark:#0ea5e9;--detail-accent-hover-light:#027dbc;--detail-accent-hover-dark:#0284c7;--detail-heading-gradient-start-light:#0369a1;--detail-heading-gradient-start-dark:#227bad;--detail-heading-gradient-end-light:#0b7eb3;--detail-heading-gradient-end-dark:#0ea5e9;--page-hero-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#0ea5e94d,transparent 60%),radial-gradient(60% 120% at 85% 25%,#06b6d433,transparent 60%);--page-hero-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#38bdf86b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#22d3ee4d,transparent 60%);--page-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#0ea5e94d,transparent 60%),radial-gradient(60% 120% at 85% 25%,#06b6d433,transparent 60%);--page-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#38bdf86b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#22d3ee4d,transparent 60%)}.career-theme--siemens{--detail-accent-light:#008484;--detail-accent-dark:#099;--detail-accent-hover-light:#007a7a;--detail-accent-hover-dark:#0e8282;--detail-heading-gradient-start-light:#006b6b;--detail-heading-gradient-start-dark:#258181;--detail-heading-gradient-end-light:#008484;--detail-heading-gradient-end-dark:#099;--page-hero-brand-gradient-light:radial-gradient(75% 120% at 15% 20%,#0099994d,transparent 60%),radial-gradient(60% 120% at 85% 28%,#00c8b42e,transparent 60%);--page-hero-brand-gradient-dark:radial-gradient(75% 120% at 15% 20%,#22caca6b,transparent 60%),radial-gradient(60% 120% at 85% 28%,#35e0c84d,transparent 60%);--page-brand-gradient-light:radial-gradient(75% 120% at 15% 20%,#0099994d,transparent 60%),radial-gradient(60% 120% at 85% 28%,#00c8b42e,transparent 60%);--page-brand-gradient-dark:radial-gradient(75% 120% at 15% 20%,#22caca6b,transparent 60%),radial-gradient(60% 120% at 85% 28%,#35e0c84d,transparent 60%)}.career-theme--on{--detail-accent-light:#000;--detail-accent-dark:#757575;--detail-accent-hover-light:#333;--detail-accent-hover-dark:#757575;--detail-heading-gradient-start-light:#000;--detail-heading-gradient-start-dark:#757575;--detail-heading-gradient-end-light:#4a4a4a;--detail-heading-gradient-end-dark:#757575;--page-hero-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#00000038,transparent 60%),radial-gradient(60% 120% at 85% 25%,#4a4a4a29,transparent 60%);--page-hero-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#7575756b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#9a9a9a4d,transparent 60%);--page-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#00000038,transparent 60%),radial-gradient(60% 120% at 85% 25%,#4a4a4a29,transparent 60%);--page-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#7575756b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#9a9a9a4d,transparent 60%)}.career-theme--uzh{--detail-accent-light:#0028a5;--detail-accent-dark:#5670c3;--detail-accent-hover-light:#001f80;--detail-accent-hover-dark:#5e72af;--detail-heading-gradient-start-light:#001f80;--detail-heading-gradient-start-dark:#5e72af;--detail-heading-gradient-end-light:#3a6ee0;--detail-heading-gradient-end-dark:#3b6fe0;--page-hero-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#0028a54d,transparent 60%),radial-gradient(60% 120% at 85% 25%,#3a6ee033,transparent 60%);--page-hero-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#496eda6b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#6e9bff4d,transparent 60%);--page-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#0028a54d,transparent 60%),radial-gradient(60% 120% at 85% 25%,#3a6ee033,transparent 60%);--page-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#496eda6b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#6e9bff4d,transparent 60%)}.career-theme--aws{--detail-accent-light:#bd5b0e;--detail-accent-dark:#ec7211;--detail-accent-hover-light:#bf590b;--detail-accent-hover-dark:#c85d0c;--detail-heading-gradient-start-light:#bf590b;--detail-heading-gradient-start-dark:#c85d0c;--detail-heading-gradient-end-light:#ab6600;--detail-heading-gradient-end-dark:#f90;--page-hero-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#ff99004d,transparent 60%),radial-gradient(60% 120% at 85% 25%,#232f3e2e,transparent 60%);--page-hero-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#ffad336b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#7180964d,transparent 60%);--page-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#ff99004d,transparent 60%),radial-gradient(60% 120% at 85% 25%,#232f3e2e,transparent 60%);--page-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#ffad336b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#7180964d,transparent 60%)}.career-theme--kanti{--detail-accent-light:#b45309;--detail-accent-dark:#b75b14;--detail-accent-hover-light:#92400e;--detail-accent-hover-dark:#a6643b;--detail-heading-gradient-start-light:#92400e;--detail-heading-gradient-start-dark:#a6643b;--detail-heading-gradient-end-light:#b36205;--detail-heading-gradient-end-dark:#d97706;--page-hero-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#b4530947,transparent 60%),radial-gradient(60% 120% at 85% 25%,#d977062e,transparent 60%);--page-hero-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#d977066b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#fbbf244d,transparent 60%);--page-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#b4530947,transparent 60%),radial-gradient(60% 120% at 85% 25%,#d977062e,transparent 60%);--page-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#d977066b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#fbbf244d,transparent 60%)}.career-theme--swiss-tennis{--detail-accent-light:#c50026;--detail-accent-dark:#d23b58;--detail-accent-hover-light:#9f001f;--detail-accent-hover-dark:#bd5066;--detail-heading-gradient-start-light:#9f001f;--detail-heading-gradient-start-dark:#bd5066;--detail-heading-gradient-end-light:#e00032;--detail-heading-gradient-end-dark:#e31a47;--page-hero-brand-gradient-light:radial-gradient(72% 125% at 14% 18%,#c500264d,transparent 60%),radial-gradient(60% 115% at 88% 26%,#e0003229,transparent 62%);--page-hero-brand-gradient-dark:radial-gradient(72% 125% at 14% 18%,#ff294f6b,transparent 60%),radial-gradient(60% 115% at 88% 26%,#d23b584d,transparent 62%);--page-brand-gradient-light:radial-gradient(72% 125% at 14% 18%,#c500264d,transparent 60%),radial-gradient(60% 115% at 88% 26%,#e0003229,transparent 62%);--page-brand-gradient-dark:radial-gradient(72% 125% at 14% 18%,#ff294f6b,transparent 60%),radial-gradient(60% 115% at 88% 26%,#d23b584d,transparent 62%)}.project-theme--neutral{--detail-accent-light:#262626;--detail-accent-dark:#757575;--detail-accent-hover-light:#000;--detail-accent-hover-dark:#757575;--page-hero-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#78787829,transparent 60%);--page-hero-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#7878786b,transparent 60%);--page-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#78787829,transparent 60%);--page-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#7878786b,transparent 60%)}.project-theme--sysplained{--detail-accent-light:#262626;--detail-accent-dark:#757575;--detail-accent-hover-light:#000;--detail-accent-hover-dark:#757575;--page-hero-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#00000047,transparent 60%),radial-gradient(60% 120% at 85% 25%,#8a8a8a2e,transparent 60%);--page-hero-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#7575756b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#c0c0c04d,transparent 60%);--page-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#00000047,transparent 60%),radial-gradient(60% 120% at 85% 25%,#8a8a8a2e,transparent 60%);--page-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#7575756b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#c0c0c04d,transparent 60%)}.project-theme--tech-wiki{--detail-accent-light:#b42366;--detail-accent-dark:#c14880;--detail-accent-hover-light:#8f174d;--detail-accent-hover-dark:#ae587f;--page-hero-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#f0443e4d,transparent 60%),radial-gradient(60% 120% at 85% 25%,#9c247738,transparent 60%);--page-hero-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#ff5a546b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#d84b9a57,transparent 60%);--page-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#f0443e4d,transparent 60%),radial-gradient(60% 120% at 85% 25%,#9c247738,transparent 60%);--page-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#ff5a546b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#d84b9a57,transparent 60%)}.project-theme--portfolio{--detail-accent-light:#666564;--detail-accent-dark:#757473;--detail-accent-hover-light:#404040;--detail-accent-hover-dark:#757575;--page-hero-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#d3d3d347,transparent 60%),radial-gradient(60% 120% at 85% 25%,#9d9c9b38,transparent 60%);--page-hero-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#8a8a8a6b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#7574734d,transparent 60%);--page-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#d3d3d347,transparent 60%),radial-gradient(60% 120% at 85% 25%,#9d9c9b38,transparent 60%);--page-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#8a8a8a6b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#7574734d,transparent 60%)}.project-theme--deferral{--detail-accent-light:#082e6c;--detail-accent-dark:#5d769e;--detail-accent-hover-light:#061f49;--detail-accent-hover-dark:#66758f;--page-hero-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#082e6c4d,transparent 60%),radial-gradient(60% 120% at 85% 25%,#2563eb2e,transparent 60%);--page-hero-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#4c75b56b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#4d83f54d,transparent 60%);--page-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#082e6c4d,transparent 60%),radial-gradient(60% 120% at 85% 25%,#2563eb2e,transparent 60%);--page-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#4c75b56b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#4d83f54d,transparent 60%)}.project-theme--uzh-swap{--detail-accent-light:#b0027b;--detail-accent-dark:#c33f9b;--detail-accent-hover-light:#87015f;--detail-accent-hover-dark:#ae5594;--page-hero-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#b0027b4d,transparent 60%),radial-gradient(60% 120% at 85% 25%,#b0027b33,transparent 60%);--page-hero-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#e00f9a6b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#ee1cb34d,transparent 60%);--page-brand-gradient-light:radial-gradient(70% 120% at 15% 20%,#b0027b4d,transparent 60%),radial-gradient(60% 120% at 85% 25%,#b0027b33,transparent 60%);--page-brand-gradient-dark:radial-gradient(70% 120% at 15% 20%,#e00f9a6b,transparent 60%),radial-gradient(60% 120% at 85% 25%,#ee1cb34d,transparent 60%)}}@layer reset,tokens,base,components,pages,utilities;html[data-motion=enabled] .reveal-pending{opacity:0}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.root-layout{display:flex;flex-direction:column;min-height:100dvh}.skip-link{position:fixed;z-index:1000;background:var(--color-surface,#fff);color:var(--color-text,#111);border:1px solid var(--color-border,#ccc);text-decoration:none;border-radius:0 0 8px 8px;padding:.75rem 1.25rem;transition:transform .15s ease-in-out;top:0;left:50%;transform:translate(-50%,-120%)}.skip-link:focus-visible{outline:2px solid var(--color-accent,#06f);outline-offset:2px;transform:translate(-50%)}.root-layout-main{padding-top:calc(var(--header-height) + env(safe-area-inset-top));flex:1}.wave{background:var(--color-wave);position:fixed;animation:wave 10s -3s linear infinite;opacity:.8;z-index:-1;border-radius:1000% 1000% 0 0;width:200%;height:12em;bottom:0;left:0;transform:translate(0,0)}.wave:nth-of-type(2){animation:wave 18s linear reverse infinite;opacity:.8;bottom:-1.25em}.wave:nth-of-type(3){animation:wave 20s -1s reverse infinite;opacity:.9;bottom:-2.5em}@keyframes wave{2%{transform:translate(1px)}25%{transform:translate(-25%)}50%{transform:translate(-50%)}75%{transform:translate(-25%)}to{transform:translate(1px)}}.page-container{max-width:var(--content-max-width);padding:var(--space-8)var(--space-6);width:100%;margin:0 auto}.page-container-narrow{max-width:var(--content-narrow-width)}@media (max-width:640px){.page-container{padding:var(--space-6)var(--space-4)}}.header{position:fixed;height:calc(var(--header-height) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);border-bottom:1px solid var(--color-border);z-index:var(--z-sticky);top:0;left:0;right:0}.header:before{content:"";position:absolute;z-index:-1;backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-bg-primary)85%,transparent);inset:0}.header-inner{display:flex;max-width:var(--content-max-width);padding:0 var(--space-6);justify-content:space-between;align-items: center;height:100%;margin:0 auto}.header-logo{display:flex;transition:transform var(--transition-fast);border-radius:50%;flex-shrink:0}.header-logo:hover{transform:scale(1.05)}.header-logo:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.header-logo-image{display:block;object-fit:cover;border-radius:50%;width:2.5rem;height:2.5rem}.navigation,.nav-panel{display:contents}.nav{display:flex;align-items: center;gap:var(--space-1)}.nav-actions{display:flex;align-items: center;gap:var(--space-2)}.nav-link{padding:var(--space-2)var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);border-radius:var(--radius-md);transition:color var(--transition-fast),background var(--transition-fast)}.nav-link:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.nav-link:active{background:var(--color-bg-hover)}.nav-link-active{color:var(--color-accent)}.nav-link-active:hover{color:var(--color-accent-hover)}.nav-hamburger{display:none;padding:var(--space-2);z-index:calc(var(--z-overlay) + 1);flex-direction:column;justify-content:center;align-items: center;gap:5px;min-width:2.75rem;min-height:2.75rem}.nav-bar{display:block;background:var(--color-text-primary);border-radius:var(--radius-full);transition:transform var(--transition-fast),opacity var(--transition-fast);width:20px;height:2px}.nav-bar-open:first-child{transform:translateY(7px)rotate(45deg)}.nav-bar-open:nth-child(2){opacity:0}.nav-bar-open:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-overlay{display:none;cursor:default;border:0}@media (max-width:900px){.nav-hamburger{display:flex;position:relative}.nav-panel{position:fixed;display:flex;align-items: flex-start;gap:var(--space-4);padding:calc(var(--header-height) + var(--space-4) + env(safe-area-inset-top))var(--space-6)calc(var(--space-6) + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:var(--color-bg-secondary);border-left:1px solid var(--color-border);visibility:hidden;pointer-events:none;transition:transform .42s var(--motion-ease-out),visibility 0s linear .42s;will-change:transform;z-index:var(--z-overlay);flex-direction:column;width:280px;top:0;bottom:0;right:0;transform:translate(100%)}.nav-open{visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(0,0)}.nav-actions{padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);order:1;justify-content:flex-end;width:100%}.nav{align-items: flex-start;gap:var(--space-1);flex-direction:column;order:2;width:100%}.nav-link{font-size:var(--text-base);padding:var(--space-3)var(--space-4);width:100%}.nav-overlay{display:block;position:fixed;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-normal),visibility 0s linear .35s;z-index:calc(var(--z-overlay) - 1);background:#00000080;inset:0}.nav-overlay-open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}}@media (prefers-reduced-motion:reduce){.nav-panel,.nav-overlay{transition-duration:0s}}.theme-switcher{display:flex;border-radius:var(--radius-md);color:var(--color-text-secondary);transition:color var(--transition-fast),background var(--transition-fast);justify-content:center;align-items: center;width:36px;height:36px}.theme-switcher:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}@media (pointer:coarse){.theme-switcher{width:44px;height:44px}}.footer{border-top:1px solid var(--color-border);padding:var(--space-6)0 calc(var(--space-6) + env(safe-area-inset-bottom));background:var(--color-bg);margin-top:auto}.footer-inner{max-width:var(--content-max-width);padding:0 var(--space-6);text-align:center;margin:0 auto}.footer-social{margin-bottom:var(--space-4)}.footer-links{display:flex;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-4)}.footer-links a,.footer-links button{color:var(--color-text-secondary);font:inherit;font-size:var(--text-sm);cursor:pointer;text-decoration:underline;text-underline-offset:.2em;background:0 0;border:0;padding:0}.footer-links a:hover,.footer-links button:hover{color:var(--color-text-primary)}.footer-social-links{display:flex;justify-content:center;gap:var(--space-2);list-style:none;flex-wrap:wrap;margin:0;padding:0}.footer-social-link{display:inline-flex;border-radius:var(--radius-full);color:var(--color-text-tertiary);text-decoration:none;transition:color var(--transition-fast),background var(--transition-fast);justify-content:center;align-items: center;width:2.75rem;height:2.75rem}.footer-social-link:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.footer-social-link svg{width:1.25rem;height:1.25rem}.footer-copyright{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:0}.footer-version{margin:var(--space-1)0 0;font-size:var(--text-xs);color:var(--color-text-tertiary)}.analytics-consent{position:fixed;z-index:1000;right:max(var(--space-4),env(safe-area-inset-right));bottom:max(var(--space-4),env(safe-area-inset-bottom));left:max(var(--space-4),env(safe-area-inset-left));display:flex;justify-content:space-between;align-items: center;gap:var(--space-6);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);background:var(--color-bg-elevated);box-shadow:var(--shadow-lg);max-width:58rem;margin:0 auto}.analytics-consent-copy{max-width:42rem}.analytics-consent h2{margin:0 0 var(--space-2);font-size:var(--text-lg)}.analytics-consent p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0;line-height:1.6}.analytics-consent a{color:inherit;text-underline-offset:.2em}.analytics-consent-actions{display:flex;gap:var(--space-3);flex-shrink:0}.analytics-consent button{padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast);min-height:2.75rem}.analytics-consent-decline{color:var(--color-text-primary);background:var(--color-bg-primary)}.analytics-consent-accept{border-color:var(--color-accent);color:var(--color-bg-primary);background:var(--color-accent)}.analytics-consent-decline:hover{border-color:var(--color-border-hover);background:var(--color-bg-hover)}.analytics-consent-accept:hover{border-color:var(--color-accent-hover);background:var(--color-accent-hover)}@media (max-width:42rem){.analytics-consent{align-items:stretch;gap:var(--space-4);flex-direction:column}.analytics-consent-actions{display:grid;grid-template-columns:1fr 1fr}}.dialog{width:min(36rem,calc(100vw - (2*var(--space-4))));max-height:calc(100dvh - (2*var(--space-4)));color:var(--color-text-primary);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);opacity:0;transform:translateY(var(--space-2))scale(.985);max-width:none;margin:auto;padding:0}.dialog[open]{display:block}.dialog[data-state=open]{animation:dialog-enter var(--transition-fast)both}.dialog[data-state=closing]{pointer-events:none;animation:dialog-exit .18s var(--motion-ease-out)both}.dialog::backdrop{backdrop-filter:blur(3px);animation:dialog-backdrop-enter var(--transition-fast)both;background:#00000094}.dialog[data-state=closing]::backdrop{animation:dialog-backdrop-exit .18s var(--motion-ease-out)both}.dialog-shell{display:flex;max-height:calc(100dvh - (2*var(--space-4)));overflow:hidden;flex-direction:column}.dialog-header{display:flex;justify-content:space-between;align-items: flex-start;gap:var(--space-4);padding:var(--space-6)var(--space-6)var(--space-4);border-bottom:1px solid var(--color-border)}.dialog-heading{min-width:0}.dialog-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.01em;line-height:var(--leading-tight);margin:0}.dialog-description{margin:var(--space-2)0 0;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.dialog-close{display:inline-flex;color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items: center;width:36px;height:36px;padding:0}.dialog-close:hover{color:var(--color-text-primary);background:var(--color-bg-hover);border-color:var(--color-border)}.dialog-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dialog-close-icon{width:18px;height:18px}.dialog-content{padding:var(--space-5)var(--space-6)var(--space-6);overflow-y:auto;overscroll-behavior:contain;min-height:0}@keyframes dialog-enter{0%{opacity:0;transform:translateY(var(--space-2))scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes dialog-exit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(var(--space-2))scale(.985)}}@keyframes dialog-backdrop-enter{0%{background:0 0;backdrop-filter:blur(0)}to{background:#00000094;backdrop-filter:blur(3px)}}@keyframes dialog-backdrop-exit{0%{background:#00000094;backdrop-filter:blur(3px)}to{background:0 0;backdrop-filter:blur(0)}}@media (max-width:480px),(max-height:560px){.dialog{width:calc(100vw - (2*var(--space-3)));max-height:calc(100dvh - (2*var(--space-3)))}.dialog-shell{max-height:calc(100dvh - (2*var(--space-3)))}.dialog-header{padding:var(--space-4)var(--space-4)var(--space-3)}.dialog-content{padding:var(--space-4)}}@media (pointer:coarse){.dialog-close{width:44px;height:44px}}@media (prefers-reduced-motion:reduce){.dialog[data-state=open],.dialog[data-state=closing]{animation:none}.dialog::backdrop{animation:none}.dialog[data-state=closing]::backdrop{animation:none}}.external-link-pill{position:relative;z-index:2;display:inline-flex;align-items: center;gap:var(--space-2);padding:var(--space-1)var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-elevated);color:inherit;font-size:var(--text-sm);cursor:pointer;text-decoration:none;transition:border-color var(--transition-fast)}.external-link-pill:hover{border-color:var(--color-accent);color:inherit}.external-link-pill:focus-visible{border-radius:var(--radius-full)}@media (prefers-reduced-motion:reduce){.external-link-pill{transition:none}}.filter-tabs-shell{--filter-tabs-edge-width:3.25rem;position:relative;min-width:0}.filter-tabs{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-2);scrollbar-width:none;-webkit-overflow-scrolling:touch}.filter-tabs-scrollable{padding-inline:calc(var(--filter-tabs-edge-width) - var(--space-2))}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{position:relative;padding:var(--space-2)var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:color var(--transition-fast),border-color var(--transition-fast);background:0 0;border:1.5px solid #0000}.filter-tab:hover:not(.filter-tab-active){color:var(--color-text-primary);border-color:var(--color-text-tertiary)}.filter-tab-active{color:var(--color-text-primary);font-weight:var(--weight-semibold);border-color:var(--color-accent)}.filter-tab-active:focus-visible{outline:none}.filter-tabs-shell:before,.filter-tabs-shell:after{position:absolute;top:0;bottom:var(--space-2);z-index:1;width:var(--filter-tabs-edge-width);pointer-events:none;content:"";opacity:0;transition:opacity var(--transition-fast)}.filter-tabs-shell:before{background:linear-gradient(to right,var(--color-bg-primary)45%,transparent);left:0}.filter-tabs-shell:after{background:linear-gradient(to left,var(--color-bg-primary)45%,transparent);right:0}.filter-tabs-can-scroll-left:before,.filter-tabs-can-scroll-right:after{opacity:1}.filter-tabs-scroll-button{position:absolute;z-index:2;display:none;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-elevated);color:var(--color-text-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),opacity var(--transition-fast);justify-content:center;align-items: center;width:32px;height:32px;padding:0;top:2px}.filter-tabs-has-overflow .filter-tabs-scroll-button{display:inline-flex}.filter-tabs-scroll-button:hover:not(:disabled){border-color:var(--color-border-hover);background:var(--color-bg-hover)}.filter-tabs-scroll-button:disabled{color:var(--color-text-tertiary);opacity:.45;cursor:default}.filter-tabs-scroll-button svg{width:16px;height:16px}.filter-tabs-scroll-button-previous{left:0}.filter-tabs-scroll-button-previous svg{transform:rotate(90deg)}.filter-tabs-scroll-button-next{right:0}.filter-tabs-scroll-button-next svg{transform:rotate(-90deg)}@media (pointer:coarse){.filter-tabs-shell{--filter-tabs-edge-width:3.75rem}.filter-tabs-scroll-button{width:36px;height:36px;top:0}}.logo-image{filter:grayscale(1)brightness(.55)contrast(100)}[data-theme=dark] .logo-image{filter:grayscale(1)brightness(.55)contrast(100)invert(1)}.media-loading-shell{position:relative;overflow:hidden;background:var(--color-bg-hover)}.media-loading-shell--block{display:block;width:100%}.media-loading-shell--inline{display:inline-flex;vertical-align:middle;flex:none;max-width:100%}.media-loading-shell--rectangle{border-radius:0}.media-loading-shell--rounded{border-radius:var(--media-skeleton-radius,var(--radius-md))}.media-loading-shell--circle{border-radius:50%}.media-loading-shell:before{position:absolute;z-index:0;content:"";background:linear-gradient(105deg,transparent 30%,color-mix(in srgb,var(--color-text-primary)7%,transparent)46%,transparent 62%);animation:media-skeleton-shimmer 1.8s ease-in-out .15s infinite;transition:opacity var(--transition-slow);background-size:220% 100%;inset:0}.media-loading-shell>picture,.media-loading-shell>img{position:relative;z-index:1}.media-loading-shell>picture{display:block;width:100%}.media-loading-shell>img,.media-loading-shell>picture>img{opacity:0;transition:opacity var(--transition-slow)}.media-loading-shell--loaded{background:0 0}.media-loading-shell--loaded:before{opacity:0;animation:none}.media-loading-shell--loaded>img,.media-loading-shell--loaded>picture>img{opacity:1}.media-loading-shell--error:before{background:var(--color-bg-hover);animation:none}@keyframes media-skeleton-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}@media (prefers-reduced-motion:reduce){.media-loading-shell:before{background:var(--color-bg-hover);animation:none;transition:none}.media-loading-shell>img,.media-loading-shell>picture>img{transition:none}}.proficiency-badge{display:inline-flex;align-items: center}.proficiency-dots{display:flex;gap:3px}.proficiency-dot{background:var(--color-border);transition:background var(--transition-fast);border-radius:50%;width:8px;height:8px}.proficiency-dot-filled{background:var(--color-accent)}.sr-only{position:absolute;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0}.proficiency-bar{display:inline-flex;align-items: center;min-width:0}.proficiency-bar-segments{display:flex;gap:3px;width:100%;max-width:8rem}.proficiency-bar-segment{position:relative;background:color-mix(in srgb,var(--color-border)70%,transparent);overflow:hidden;transition:background var(--transition-fast);border-radius:3px;flex:1;height:8px}.proficiency-bar-segment-filled{background:var(--color-accent)}.proficiency-bar-segment-fill{position:absolute;border-radius:inherit;background:var(--color-accent);transform-origin:left center;inset:0}.proficiency-bar-segment-fill--half{transform:scaleX(.5)}@media (max-width:640px){.proficiency-bar-segments{max-width:6rem}}.home-section{margin-bottom:var(--space-12)}.home-section-header{margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.home-section-heading{--home-section-title-size:clamp(1.4rem,5.6vw,3.5rem);display:flex;align-items:baseline;gap:var(--space-3)}.home-section-number{font-size:calc(var(--home-section-title-size)*.32);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;color:var(--color-text-tertiary);line-height:1}.home-section-title{font-size:var(--home-section-title-size);font-weight:var(--weight-semibold);letter-spacing:-.02em;margin:0;line-height:1.1}.home-section-title-link{display:inline-block;color:var(--color-text-primary);text-decoration:none}.home-section-title-link:hover{background-image:var(--gradient-text);background-repeat:no-repeat;background-size:var(--gradient-text-shine-size,140%)100%;background-position:var(--gradient-text-shine-from,47%)50%;-webkit-text-fill-color:transparent;color:#0000;animation:text-gradient-shine var(--gradient-text-shine-duration,18s)ease-in-out infinite alternate;-webkit-background-clip:text;background-clip:text}.home-section-title-link:focus-visible{background-image:var(--gradient-text);background-repeat:no-repeat;background-size:var(--gradient-text-shine-size,140%)100%;background-position:var(--gradient-text-shine-from,47%)50%;-webkit-text-fill-color:transparent;color:#0000;animation:text-gradient-shine var(--gradient-text-shine-duration,18s)ease-in-out infinite alternate;-webkit-background-clip:text;background-clip:text}.home-section-meta{display:flex;justify-content:space-between;align-items: center;gap:var(--space-2)var(--space-5);margin-top:var(--space-3);flex-wrap:wrap}.home-section-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed);flex:16rem;margin:0}.home-section-header-action{flex:none}@media (max-width:640px){.home-section-header{padding-bottom:var(--space-4)}.home-section-heading{--home-section-title-size:clamp(1.1rem,6vw,2.8rem);gap:var(--space-2)}}@media (prefers-reduced-motion:reduce){.home-section-title-link:hover{animation:none;background-position:50%;background-size:100% 100%}.home-section-title-link:focus-visible{animation:none;background-position:50%;background-size:100% 100%}}.select-dropdown{position:relative;display:inline-flex}.select-dropdown-trigger{display:inline-flex;justify-content:center;align-items: center;gap:var(--space-1);padding:0 var(--space-2);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);background:0 0;border:0;min-width:92px;height:36px}.select-dropdown-trigger:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.select-dropdown-trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.select-dropdown-trigger-label-short{display:none}.select-dropdown-chevron{transition:transform var(--transition-fast);flex-shrink:0;width:14px;height:14px}.select-dropdown-chevron-open{transform:rotate(180deg)}.select-dropdown-menu{position:absolute;top:calc(100% + var(--space-1));z-index:var(--z-dropdown);display:flex;padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);box-shadow:var(--shadow-sm);flex-direction:column;min-width:max(100%,10.5rem)}.select-dropdown-menu-start{left:0}.select-dropdown-menu-end{right:0}.select-dropdown-option{display:flex;justify-content:space-between;align-items: center;gap:var(--space-3);padding:var(--space-2)var(--space-3);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary);text-align:left;white-space:nowrap;cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);background:0 0;border:0;width:100%}.select-dropdown-option:hover{background:var(--color-bg-hover);outline:none}.select-dropdown-option:focus-visible{background:var(--color-bg-hover);outline:none}.select-dropdown-option:focus-visible{box-shadow:inset 0 0 0 2px var(--color-accent)}.select-dropdown-option-active{color:var(--color-accent);font-weight:var(--weight-semibold)}.select-dropdown-check{font-size:var(--text-sm);line-height:1}@media (max-width:768px){.select-dropdown:has(.select-dropdown-trigger-label-short) .select-dropdown-trigger{min-width:64px}.select-dropdown-trigger-label-short{display:inline}.select-dropdown-trigger:has(.select-dropdown-trigger-label-short) .select-dropdown-trigger-label-full{display:none}}@media (pointer:coarse){.select-dropdown-trigger{height:44px}.select-dropdown-option{min-height:44px}}.tag-list{display:flex;gap:var(--space-2);flex-wrap:wrap}.tag{display:inline-flex;padding:var(--space-1)var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-secondary);background:var(--color-bg-hover);border-radius:var(--radius-full);align-items: center}.tag--with-icon{gap:var(--space-2);padding:var(--space-1)var(--space-3);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary);background:var(--color-bg-elevated);border:1px solid var(--color-border)}.tag--link{position:relative;z-index:4;cursor:pointer;text-decoration:none}.tag--link:hover{color:var(--color-text-primary);border-color:var(--color-accent)}.tag--link:focus-visible{border-radius:var(--radius-full)}.tag-icon{object-fit:contain;flex-shrink:0;width:16px;height:16px}.title-mark{--media-skeleton-radius:var(--title-mark-radius,var(--radius-sm));display:inline-flex;flex:none;justify-content:center;align-items: center}.title-mark>.media-loading-shell,.title-mark>.media-loading-shell>picture{width:100%;height:100%}.title-mark-image{display:block;object-fit:contain;width:100%;height:100%}.title-mark--framed{padding:var(--title-mark-padding,var(--space-2));border:1px solid var(--color-border);border-radius:var(--title-mark-radius,var(--radius-md));background:var(--color-bg-elevated);box-shadow:var(--shadow-sm)}.title-mark--framed>.media-loading-shell{background:0 0}.title-mark--artwork{overflow:hidden;border-radius:var(--title-mark-radius,var(--radius-sm))}.title-mark--artwork .title-mark-image{object-fit:cover}.title-mark--color-logo,.title-mark--monochrome-logo{background:0 0}[data-theme=dark] .title-mark--monochrome-logo .title-mark-image{filter:brightness(0)invert(1)}.prose{line-height:var(--leading-relaxed);color:var(--color-text-primary)}.prose h1{font-size:var(--text-3xl);font-weight:var(--weight-bold);margin-top:var(--space-10);margin-bottom:var(--space-4);line-height:var(--leading-tight)}.prose h2{font-size:var(--text-2xl);font-weight:var(--weight-semibold);margin-top:var(--space-8);margin-bottom:var(--space-3);line-height:var(--leading-tight)}.prose h3{font-size:var(--text-xl);font-weight:var(--weight-semibold);margin-top:var(--space-6);margin-bottom:var(--space-3)}.prose h4{font-size:var(--text-lg);font-weight:var(--weight-medium);margin-top:var(--space-6);margin-bottom:var(--space-2)}.prose p{margin-bottom:var(--space-4)}.prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.prose a:hover{color:var(--color-accent-hover)}.prose ul,.prose ol{margin-bottom:var(--space-4);padding-left:var(--space-6)}.prose ul{list-style:disc}.prose ol{list-style:decimal}.prose li{margin-bottom:var(--space-1)}.prose li>ul,.prose li>ol{margin-top:var(--space-1);margin-bottom:0}.prose blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-4);margin:var(--space-4)0;color:var(--color-text-secondary);font-style:italic}.prose img{border-radius:var(--radius-md);margin:var(--space-4)0}.prose-figure{--media-skeleton-radius:var(--radius-lg);margin:var(--space-8)0}.prose-figure-image{display:block;border-radius:var(--radius-lg);object-fit:cover;width:100%;height:auto;margin:0}.prose-figure-caption{margin-top:var(--space-3);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-text-secondary);text-align:center}.prose hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-8)0}.prose table{border-collapse:collapse;margin:var(--space-4)0;width:100%}.prose th,.prose td{padding:var(--space-2)var(--space-3);border:1px solid var(--color-border);text-align:left}.prose th{background:var(--color-bg-elevated);font-weight:var(--weight-semibold)}.prose :first-child{margin-top:0}.prose :last-child{margin-bottom:0}.language-skills{display:flex;gap:var(--space-5);flex-direction:column}.language-skills--compact{gap:var(--space-4);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated)}.language-skills-compact-title{font-size:.6875rem;font-weight:var(--weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0}.language-skills-list{display:grid;grid-template-columns:minmax(5rem,7rem)minmax(0,1fr)minmax(4.5rem,auto);column-gap:var(--space-4);list-style:none;margin:0;padding:0}.language-skills-row{display:grid;grid-column:1/-1;grid-template-columns:subgrid;padding-block:var(--space-3);position:relative;align-items: center}.language-skills-row:not(:last-child){border-bottom:1px solid var(--color-border)}.language-skills--compact .language-skills-row{padding-block:var(--space-3)}.language-skills--compact .language-skills-row:first-child{padding-top:0}.language-skills--compact .language-skills-row:last-child{border-bottom:none;padding-bottom:0}.language-skills-name{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary)}.language-skills--compact .language-skills-name{font-size:var(--text-base)}.language-skills-level{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-accent);text-align:right;letter-spacing:.01em}.language-skills--compact .language-skills-level{font-size:var(--text-sm)}@media (max-width:640px){.language-skills--compact{padding:var(--space-4)}.language-skills-list{grid-template-columns:minmax(4.5rem,6rem)minmax(0,1fr)minmax(4rem,auto);column-gap:var(--space-3)}.language-skills-level{font-size:var(--text-xs)}}@media (max-width:420px){.language-skills-list{display:flex;flex-direction:column}.language-skills-row{grid-template-columns:minmax(0,1fr)auto;column-gap:var(--space-3);row-gap:var(--space-2)}.language-skills-row .proficiency-bar{grid-column:1/-1;grid-row:2;width:100%}.language-skills-row .proficiency-bar-segments{max-width:none}}.page-hero{background:var(--page-hero-bg);color:var(--page-hero-text);width:100%}.page-hero--branded{position:relative;overflow:hidden;--page-hero-visible-brand-gradient:var(--page-hero-brand-gradient-light,var(--page-hero-brand-gradient,none));background:var(--color-bg-primary);color:var(--color-text-primary);border-bottom:1px solid var(--color-border)}.page-hero--branded:before{content:"";position:absolute;background:var(--page-hero-visible-brand-gradient);pointer-events:none;inset:0}[data-theme=dark] .project-detail-page .page-hero--branded,[data-theme=dark] .career-detail-page .page-hero--branded{--page-hero-visible-brand-gradient:var(--page-hero-brand-gradient-dark,var(--page-hero-brand-gradient-light,var(--page-hero-brand-gradient,none)))}.page-hero--contact{color:var(--color-text-primary);border-bottom:1px solid var(--color-border);border-radius:var(--radius-lg);background:radial-gradient(80% 140% at 8% 0%,#fffffffa,#0000 68%),linear-gradient(125deg,#f8f8f8 0%,#efefef 54%,#e4e4e4 100%)}[data-theme=dark] .page-hero--contact{background:radial-gradient(75% 140% at 10% 0%,#ffffff1a,#0000 68%),linear-gradient(125deg,#1c1c1c 0%,#111 54%,#181818 100%)}.page-hero--contact .page-hero-back,.page-hero--contact .page-hero-label,.page-hero--contact .page-hero-meta,.page-hero--contact .page-hero-subtitle{color:var(--color-text-secondary)}.page-hero--contact .page-hero-back:hover{color:var(--color-text-primary)}.page-hero-inner{display:flex;gap:var(--space-6);padding:clamp(var(--space-10),8vw,var(--space-20))clamp(var(--space-6),5vw,var(--space-16));max-width:var(--content-max-width);flex-direction:column;margin:0 auto}.page-hero--branded .page-hero-inner{position:relative;z-index:1;max-width:var(--content-narrow-width);padding-left:var(--space-6);padding-right:var(--space-6)}.page-hero--branded .page-hero-back,.page-hero--branded .page-hero-label,.page-hero--branded .page-hero-meta,.page-hero--branded .page-hero-subtitle{color:var(--color-text-secondary)}.page-hero--branded .page-hero-back:hover{color:var(--color-text-primary)}.page-hero-identity{display:flex;align-items: center;gap:var(--space-3)}.page-hero-logo{--title-mark-radius:var(--radius-md);width:clamp(2.75rem,5vw,3.5rem);height:clamp(2.75rem,5vw,3.5rem)}.page-hero--branded .title-mark--framed{background:#fff;border-color:#d4d4d4}.page-hero-back{display:inline-flex;align-items: center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--page-hero-text-muted);text-decoration:none;transition:color var(--transition-fast);width:-moz-fit-content;width:fit-content}.page-hero-back:hover{color:var(--page-hero-text)}.page-hero-main{display:flex;align-items: flex-start;gap:var(--space-3);flex-direction:column;min-width:0}.page-hero-label{font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:.14em;text-transform:uppercase;color:var(--page-hero-text-muted);margin:0}.page-hero-title{font-size:clamp(2rem,6vw,3.5rem);font-weight:var(--weight-semibold);letter-spacing:-.03em;text-wrap:balance;margin:0;line-height:1.05}.page-hero-meta{font-size:var(--text-sm);color:var(--page-hero-text-muted);font-family:var(--font-mono)}.page-hero-actions{display:flex;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap}.page-hero-subtitle{font-size:var(--text-base);font-weight:var(--weight-medium);line-height:var(--leading-normal);color:var(--page-hero-text-muted);min-width:0;margin:0}.page-hero-visual{margin-top:var(--space-2)}.page-hero-children{max-width:42rem}.page-hero-actions .project-showcase-btn{border-color:color-mix(in srgb,var(--page-hero-text)46%,transparent);color:var(--page-hero-text);background:0 0}.page-hero-actions .project-showcase-btn:hover{color:var(--page-hero-text);border-color:var(--page-hero-text);background:0 0}.page-hero--branded .page-hero-actions .project-showcase-btn{border-color:color-mix(in srgb,var(--color-text-primary)46%,transparent);color:var(--color-text-primary);background:0 0}.page-hero--branded .page-hero-actions .project-showcase-btn:hover{color:var(--detail-visible-accent,var(--color-text-primary));background:0 0;border-color:currentColor}@media (max-width:640px){.page-hero--branded .page-hero-inner{padding-left:var(--space-4);padding-right:var(--space-4)}}.tech-used-here{margin-top:var(--space-6);margin-bottom:var(--space-6)}.tech-used-here-title{font-size:var(--text-2xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight);margin:0 0 var(--space-3)0}.detail-themed .tech-used-here-title{color:var(--detail-visible-accent)}.tech-used-here-intro{color:var(--color-text-secondary);margin:0 0 var(--space-4)0}.tech-used-here-list{display:flex;gap:var(--space-2);flex-wrap:wrap}.tech-used-here-motion-item{display:inline-flex}.tech-used-here-icon{object-fit:contain;flex-shrink:0;width:20px;height:20px}.tech-used-here-name{color:var(--color-text-primary);font-weight:var(--weight-medium)}.detail-themed .tech-used-here-item{border-color:var(--detail-visible-accent);background:var(--detail-tech-pill-background)}.detail-themed .tech-used-here-item:hover{border-color:var(--detail-visible-accent-hover)}.detail-themed .tech-used-here-item:focus-visible{outline-color:var(--detail-visible-accent)}.tech-used-here-more{display:inline-flex;padding:var(--space-1)var(--space-3);background:var(--color-accent-muted);color:var(--color-accent);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;justify-content:center;align-items: center}.tech-used-here-more--button{gap:var(--space-1);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);border:1px solid #0000}.tech-used-here-more-chevron{display:inline-flex;transition:transform var(--transition-fast);width:16px;height:16px}.tech-used-here-more-chevron svg{width:100%;height:100%}.tech-used-here-more-chevron--expanded{transform:rotate(180deg)}.tech-used-here-more--button:hover{background:var(--color-accent-muted);border-color:var(--color-accent-hover);color:var(--color-accent)}.detail-themed .tech-used-here-more{color:var(--detail-visible-accent);background:var(--detail-tech-pill-background)}.detail-themed .tech-used-here-more--button:hover{background:var(--detail-tech-pill-background);border-color:var(--detail-visible-accent-hover);color:var(--detail-visible-accent)}.tech-used-here-more--button:focus-visible{border-radius:var(--radius-full)}.detail-themed .tech-used-here-more--button:focus-visible{outline-color:var(--detail-visible-accent)}.timeline-card .tech-used-here{margin-top:var(--space-3);margin-bottom:0}@media (prefers-reduced-motion:reduce){.tech-used-here-more--button,.tech-used-here-more-chevron{transition:none}}.timeline{position:relative;padding:var(--space-8)0}.timeline:before{content:"";position:absolute;background:var(--color-border);width:2px;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{position:relative;display:flex;margin-bottom:var(--space-8);width:100%}.timeline-item-left{justify-content:flex-start}.timeline-item-right{justify-content:flex-end}.timeline-item-card{width:50%}.timeline-item-left .timeline-item-card{padding-right:var(--space-10)}.timeline-item-right .timeline-item-card{padding-left:var(--space-10)}.timeline-item:before{content:"";position:absolute;top:var(--space-6);background:var(--color-accent);border:3px solid var(--color-bg-primary);z-index:1;border-radius:50%;width:14px;height:14px;left:calc(50% - 7px)}.timeline-card{position:relative;display:block;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);text-decoration:none;color:inherit;transition:border-color var(--transition-normal),box-shadow var(--transition-normal);width:100%}.timeline-card-overlay-link{position:absolute;z-index:1;border-radius:inherit;inset:0}.timeline-card-overlay-link:focus-visible{outline-offset:-3px;border-radius:inherit}.timeline-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md);color:inherit}.timeline-card-header{display:flex;align-items: center;gap:var(--space-3);margin-bottom:var(--space-2)}.timeline-logo{--title-mark-padding:2px;--title-mark-radius:var(--radius-md);width:36px;height:36px}.timeline-logo.title-mark--framed{background:var(--color-bg-secondary);box-shadow:none;border:0}.timeline-card-header>.media-loading-shell{flex-shrink:0;width:36px;height:36px}.timeline-card-header>.media-loading-shell>picture{height:100%}[data-theme=dark] .timeline-logo.title-mark--framed{background:#f0eef5}.timeline-title-group{flex:1;min-width:0}.timeline-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight);margin:0}.timeline-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-1)0 0}.timeline-date{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);margin:var(--space-2)0 var(--space-3);letter-spacing:.03em}.timeline-summary{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0 0 var(--space-4)}.timeline-card-cta{display:block;margin-top:var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-accent);opacity:.7;transition:opacity var(--transition-normal)}.timeline-card:hover .timeline-card-cta{opacity:1}.timeline-more{display:flex;padding-top:var(--space-4);position:relative;z-index:2;justify-content:center}.timeline-more-link{display:inline-flex;align-items: center;gap:var(--space-3);text-decoration:none;flex-direction:column}.timeline-more-dots{display:flex;flex-direction:column;align-items: center;gap:7px}.timeline-dot{background:var(--color-accent);opacity:.85;animation:timeline-dot-pulse 1.4s ease-in-out infinite;border-radius:50%;width:10px;height:10px}.timeline-dot:nth-child(2){animation-delay:.18s}.timeline-dot:nth-child(3){animation-delay:.36s}@keyframes timeline-dot-pulse{0%,to{transform:translateY(0)scale(1);opacity:.5}50%{transform:translateY(3px)scale(1.3);opacity:1}}.timeline-see-more-link{display:inline-flex;align-items: center;gap:var(--space-2);color:var(--color-accent);font-weight:var(--weight-medium);font-size:var(--text-sm);text-decoration:none;padding:var(--space-2)var(--space-4);background:var(--color-bg-primary);transition:color var(--transition-normal)}.timeline-more-border{background:var(--color-bg-primary)}.timeline-more-link:hover .timeline-see-more-link{color:var(--color-accent)}@media (prefers-reduced-motion:reduce){.timeline-dot{animation:none;opacity:.85}}@media (max-width:768px){.timeline:before{left:20px}.timeline-item{justify-content:flex-start}.timeline-item-card,.timeline-item-left .timeline-item-card,.timeline-item-right .timeline-item-card{padding-left:calc(20px + var(--space-10));width:100%;padding-right:0}.timeline-item:before{left:13px}.timeline-more{justify-content:flex-start;padding-left:15px}.timeline-more-link{align-items: flex-start}}.project-showcase{position:relative;display:grid;grid-template-columns:1fr 1fr;width:100%;min-height:min(560px,90vh)}.project-showcase-overlay-link{position:absolute;z-index:3;border-radius:inherit;inset:0}.project-showcase-overlay-link:focus-visible{outline:2px solid var(--project-accent);outline-offset:-3px}.project-showcase--clickable{cursor:pointer}.project-showcase--reversed .project-showcase-visual{order:2}.project-showcase--reversed .project-showcase-content{order:1}.project-showcase-visual{position:relative;display:flex;padding:clamp(var(--space-8),6vw,var(--space-16));background:var(--project-visual-bg);overflow:hidden;justify-content:center;align-items: center}.project-showcase-screenshot-wrap{--media-skeleton-radius:var(--radius-lg);position:relative;z-index:1;width:min(100%,520px)}.project-showcase-screenshot-wrap>.media-loading-shell{background:0 0}.project-showcase-screenshot{display:block;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--project-screenshot-shadow,0 16px 32px #0000001f);object-fit:cover;aspect-ratio:16/10;width:100%;height:auto}.project-showcase-screenshot-wrap--logo{--media-skeleton-radius:0}.project-showcase-screenshot-wrap--logo>.media-loading-shell{aspect-ratio:16/10;width:min(100%,440px);margin:0 auto}.project-showcase-screenshot--logo{padding:var(--space-2);box-shadow:none;object-fit:contain;aspect-ratio:auto;background:0 0;border:none;border-radius:0;width:min(100%,440px);margin:0 auto}.project-showcase-screenshot-placeholder{aspect-ratio:16/10;border-radius:var(--radius-lg);border:1px dashed var(--color-border);background:var(--project-placeholder-bg,#0000000a);width:100%}.project-showcase-content{display:flex;justify-content:center;gap:var(--space-4);padding:clamp(var(--space-8),6vw,var(--space-16));background:var(--color-bg-primary);flex-direction:column}.project-showcase-category{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-tertiary);margin:0}.project-showcase-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:var(--weight-semibold);line-height:var(--leading-tight);letter-spacing:-.02em;margin:0}.project-showcase-title-mark{--title-mark-radius:var(--radius-sm);display:inline-flex;vertical-align:-.12em;width:1em;height:1em;margin-left:.35em}.project-showcase-summary{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text-secondary);max-width:36rem;margin:0}.project-showcase-btn{display:inline-flex;align-items: center;gap:var(--space-2);padding:var(--space-2)var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);background:var(--color-bg-primary);text-decoration:none;transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.project-showcase-btn:hover{color:var(--project-accent);border-color:var(--project-accent)}.project-showcase-btn:focus-visible{outline:2px solid var(--project-accent);outline-offset:2px}[data-theme=dark] .project-showcase{--project-screenshot-shadow:0 16px 32px #00000073;--project-placeholder-bg:#ffffff0a}[data-theme=dark] .project-showcase-visual{background:var(--color-bg-hover)}@media (max-width:768px){.project-showcase{grid-template-columns:1fr;min-height:unset}.project-showcase--reversed .project-showcase-visual,.project-showcase--reversed .project-showcase-content{order:unset}.project-showcase-visual{min-height:280px}.project-showcase-content{padding:var(--space-8)var(--space-6)}}.project-showcase--theme-neutral{--project-accent:#262626;--project-visual-bg:var(--color-bg-hover)}.home-below-content{--home-section-gap:calc(var(--space-52) + var(--space-20));display:flex;gap:var(--home-section-gap);padding-top:var(--home-section-gap);padding-bottom:var(--space-12);flex-direction:column}.home-below-content>[data-section]>.home-section{margin-bottom:0}@media (max-width:640px){.home-below-content{--home-section-gap:var(--space-24)}}.home-hero{position:relative;display:flex;text-align:left;padding:var(--space-20)0 var(--space-16);overflow:visible;flex-direction:column;justify-content:center;align-items: flex-start}.home-hero-inner{display:grid;grid-template-columns:minmax(0,1fr)minmax(16rem,26rem);align-items: center;gap:var(--space-12);width:100%}.home-hero-content{display:flex;flex-direction:column;align-items: flex-start;width:100%}.home-hero-portrait{justify-self:center;margin:0}.home-hero-portrait-frame{position:relative;filter:drop-shadow(0 18px 28px #0000001f);width:min(100%,26rem)}.home-hero-avatar-blob{position:relative;display:flex;aspect-ratio:1;overflow:hidden;border-radius:50%;justify-content:center;align-items: center;width:100%}.home-hero-avatar{object-fit:contain;object-position:50% 64%;display:block;opacity:0;transition:opacity var(--transition-slow);width:100%;height:100%}.home-hero-avatar.is-loaded{opacity:1}.home-title{--home-role-size:clamp(1.25rem,4.5vw,3rem);box-sizing:border-box;display:flex;overflow:visible;font-weight:var(--weight-bold);flex-direction:column;max-width:100%;margin:0;padding-inline-end:.16em}.home-eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-tertiary);margin-bottom:var(--space-4);line-height:1.1}.home-eyebrow:before{content:"— "}.home-name-line{letter-spacing:-.08em;margin-inline-start:-.05em;font-size:clamp(3.5rem,14vw,9rem);line-height:.9}.home-role-line{box-sizing:border-box;margin-top:var(--space-2);font-size:var(--home-role-size);letter-spacing:-.01em;overflow:visible;white-space:nowrap;max-width:100%;line-height:1.1}.home-role-prefix{color:var(--color-text-primary)}.home-title-typewriter{display:inline-block;white-space:nowrap;flex-shrink:0;padding-inline-end:.16em}@media (max-width:900px){.home-hero-inner{display:flex;flex-direction:column;align-items:stretch;gap:0}.home-hero-content{display:contents}.home-title{order:1}.home-hero-portrait{display:flex;margin-top:var(--space-8);order:2;justify-content:center;align-self: center;width:100%}.hero-contact-location{margin:var(--space-8)0 0;order:3;align-self: flex-start}.hero-contact-social-links{margin-top:var(--space-5);order:4;align-self:stretch}.hero-contact-cta-wrap{margin-top:var(--space-5);order:5;align-self: flex-start}.home-hero-portrait-frame{width:min(70%,16rem)}}@media (min-width:901px) and (max-width:1199px){.home-hero-inner{grid-template-columns:minmax(0,1fr)minmax(16rem,22rem);gap:var(--space-8)}.home-title{--home-role-size:clamp(1.75rem,3vw,2.25rem)}.home-name-line{font-size:clamp(5rem,9vw,6.5rem)}.home-hero-portrait-frame{width:min(100%,22rem)}}@media (min-width:641px) and (max-width:900px){.home-title{--home-role-size:clamp(1.75rem,4vw,2rem)}.home-name-line{font-size:clamp(5rem,12vw,6.5rem)}}@media (max-width:640px){.home-hero{min-height:calc(100dvh - var(--header-height));padding:var(--space-16)0 var(--space-8);text-align:left;align-items: flex-start}.home-name-line{font-size:clamp(3rem,17vw,5rem)}.home-hero-portrait-frame{width:min(70%,14rem)}.home-role-line{white-space:normal}}.home-about-body{display:flex;gap:var(--space-8);flex-direction:column}.home-about-main{display:grid;grid-template-columns:minmax(0,1fr)minmax(18rem,30rem);gap:var(--space-8);align-items: start}.home-about-main .language-skills--compact{padding:var(--space-6);min-width:0;margin-top:0}.home-about-main .language-skills-list{grid-template-columns:minmax(4.5rem,6rem)minmax(0,1fr)minmax(4.5rem,auto);column-gap:var(--space-4)}.home-about-main .language-skills-row{padding-block:var(--space-3)}.home-about-main .proficiency-bar-segments{max-width:9rem}@media (max-width:900px){.home-about-main{grid-template-columns:1fr;gap:var(--space-6)}.home-about-body{gap:var(--space-6)}.home-about-main .proficiency-bar-segments{max-width:8rem}}@media (max-width:420px){.home-about-main .language-skills--compact{padding:var(--space-4)}.home-about-main .proficiency-bar-segments{max-width:none}}@media (prefers-reduced-motion:reduce){.home-hero-avatar{opacity:1;transition:none}}.about-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--color-border)}.about-fact{display:flex;gap:var(--space-1);padding:var(--space-5)var(--space-4);flex-direction:column;min-width:0}.about-fact:not(:last-child){border-right:1px solid var(--color-border)}.about-fact-value{font-size:clamp(1.5rem,3vw,2rem);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--color-text-primary);line-height:1.1}.about-fact-label{font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-text-tertiary)}@media (min-width:641px) and (max-width:900px){.about-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.about-fact:not(:last-child){border-right:0}.about-fact:nth-child(odd){border-right:1px solid var(--color-border)}.about-fact:nth-child(-n+2){border-bottom:1px solid var(--color-border)}}@media (max-width:640px){.about-facts{grid-template-columns:1fr}.about-fact{padding:var(--space-4)var(--space-3)}.about-fact:not(:last-child){border-right:none;border-bottom:1px solid var(--color-border)}}.hero-contact-location{display:inline-flex;align-items: center;gap:var(--space-2);margin:var(--space-8)0 var(--space-3);color:var(--color-text-secondary);font-size:var(--text-xl);font-weight:var(--weight-medium)}.hero-contact-location-icon,.hero-contact-social-link svg{flex:none;width:1.35em;height:1.35em}.hero-contact-swiss-cross{flex:none;width:1em;height:1em}.hero-contact-social-links{display:flex;justify-content:flex-start;gap:var(--space-3);margin:var(--space-4)0 0;list-style:none;flex-wrap:wrap;width:100%;padding:0}.hero-contact-social-links>li{flex:7.5rem;min-width:0}.hero-contact-cta-wrap{display:inline-flex;margin-top:var(--space-5)}@property --hero-contact-border-reveal{syntax:"<angle>";inherits:false;initial-value:0deg}.hero-contact-cta{position:relative;display:inline-flex;justify-content:center;align-items: center;gap:var(--space-3);padding:var(--space-3)var(--space-4);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--weight-medium);text-decoration:none;transition:color var(--transition-fast);min-height:3rem;line-height:1.2}.gradient-border.hero-contact-cta-border:before,.gradient-border.hero-contact-cta-border:after{--hero-contact-border-reveal:0deg;opacity:1;animation:rotate-border var(--speed)linear .2s infinite;animation-play-state:paused;-webkit-mask:conic-gradient(from -90deg,#fff 0deg var(--hero-contact-border-reveal),transparent var(--hero-contact-border-reveal)360deg),linear-gradient(#fff 0 0)content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:source-in,xor;mask:conic-gradient(from -90deg,#fff 0deg var(--hero-contact-border-reveal),transparent var(--hero-contact-border-reveal)360deg),linear-gradient(#fff 0 0)content-box,linear-gradient(#fff 0 0);mask-composite:intersect,exclude;transition:--hero-contact-border-reveal .2s linear}.gradient-border.hero-contact-cta-border:after{opacity:.8}.gradient-border.hero-contact-cta-border:focus-within:before,.gradient-border.hero-contact-cta-border:focus-within:after{--hero-contact-border-reveal:360deg;animation-play-state:running}.hero-contact-cta-icon{transition:transform var(--transition-fast);flex:none}.hero-contact-cta:hover{color:var(--color-text-primary)}@media (hover:hover) and (pointer:fine){.gradient-border.hero-contact-cta-border:hover:before,.gradient-border.hero-contact-cta-border:hover:after{--hero-contact-border-reveal:360deg;animation-play-state:running}}.hero-contact-cta:hover .hero-contact-cta-icon{transform:translate(3px)}.hero-contact-cta:focus-visible .hero-contact-cta-icon{transform:translate(3px)}.hero-contact-cta:focus-visible{outline:none}.hero-contact-social-link{display:inline-flex;justify-content:center;align-items: center;gap:var(--space-2);padding:var(--space-3)var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;transition:color var(--transition-fast),transform var(--transition-fast);width:100%;min-height:3rem}.hero-contact-social-link:hover{color:var(--color-accent)}.hero-contact-social-link:active{transform:scale(.97)}@media (max-width:640px){.hero-contact-social-links{gap:var(--space-2)}.hero-contact-social-links>li{flex-basis:calc(50% - var(--space-2)/2)}.hero-contact-social-link{padding:var(--space-2)var(--space-3);font-size:var(--text-xs);min-height:2.75rem}}@media (prefers-reduced-motion:reduce){.gradient-border.hero-contact-cta-border:before,.gradient-border.hero-contact-cta-border:after,.hero-contact-cta-icon{animation:none;transition:none}.gradient-border.hero-contact-cta-border:focus-within:before,.gradient-border.hero-contact-cta-border:focus-within:after{--hero-contact-border-reveal:360deg}}@media (prefers-reduced-motion:reduce) and (hover:hover) and (pointer:fine){.gradient-border.hero-contact-cta-border:hover:before,.gradient-border.hero-contact-cta-border:hover:after{--hero-contact-border-reveal:360deg}}@media (forced-colors:active){.hero-contact-cta:focus-visible{outline:2px solid canvastext;outline-offset:2px}}.typewriter-text{--typewriter-gradient:var(--gradient-text);display:inline;overflow-wrap:normal;white-space:nowrap;word-break:keep-all;padding-inline-end:.12em}.typewriter-text-value{white-space:nowrap;padding-inline-end:.04em}.typewriter-text-cursor{display:inline-block;border-radius:var(--radius-full);background:var(--color-accent-secondary);vertical-align:-.08em;animation:typewriter-cursor-blink .9s steps(2,start)infinite;width:.08em;height:.9em;margin-left:.06em}.typewriter-text[data-phase=complete] .typewriter-text-cursor{opacity:0;animation:none}@keyframes typewriter-cursor-blink{0%,45%{opacity:1}46%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.typewriter-text-cursor{animation:none}}.about-preview-layout{display:block}.about-preview-copy{min-width:0}.about-preview-loading{text-align:center;color:var(--color-text-tertiary);padding:var(--space-8)}.misc-preview{display:flex;gap:var(--space-6);flex-direction:column}.project-card{position:relative;display:flex;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:inherit;flex-direction:column;width:100%}@media (hover:hover) and (pointer:fine){.project-card{transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.project-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}}.project-card-overlay-link{position:absolute;z-index:3;inset:0}.project-card-overlay-button{appearance:none;cursor:pointer;font:inherit;color:inherit;text-align:inherit;background:0 0;border:none;margin:0;padding:0}.project-card-overlay-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.project-card-image{--media-skeleton-radius:0;position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--color-bg-tertiary)}.project-card-image img{width:100%;height:100%}.project-card-image>.media-loading-shell{background:0 0;height:100%}.project-card-image>.media-loading-shell>picture{height:100%}.project-card-image--cover img{object-fit:cover;object-position:center}.project-card-image--light-logo img,.project-card-image--podcast-cover img,.project-card-image--deep-blue-logo img{object-fit:contain;object-position:center}.project-card-image--light-logo{background:#fff}.project-card-image--podcast-cover{background:#25206e}.project-card-image--deep-blue-logo{background:linear-gradient(90deg,#082345 0 50%,#103a6d 50% 100%)}.project-card-image img[src$=sysplained-logo-from-looka\.svg]{padding:var(--space-4);filter:grayscale(1)contrast(1.1);object-fit:contain;background:#fff;border:1px solid #d4d4d4}@media (hover:hover) and (pointer:fine){.project-card-image img{transition:transform var(--transition-slow);transform:scale(1.03)}.project-card:hover .project-card-image img{transform:scale(1)}}.project-card-placeholder{background:linear-gradient(135deg,var(--color-accent-muted)0%,var(--color-bg-secondary)50%,var(--color-accent-muted)100%);width:100%;height:100%}.project-card-body{display:flex;gap:var(--space-2);padding:var(--space-5);flex-direction:column;flex:1}.project-card-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.project-card-summary{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);display:-webkit-box;-webkit-line-clamp:3;overflow:hidden;-webkit-box-orient:vertical;flex:1}.project-carousel{--project-carousel-slide-gap:var(--space-4);--project-carousel-card-max-width:34rem;display:flex;gap:var(--space-5);flex-direction:column}@media (min-width:768px){.project-carousel{--project-carousel-slide-gap:var(--space-5)}}.project-carousel-viewport{overflow:hidden;touch-action:pan-y pinch-zoom;padding:var(--space-1);margin:calc(var(--space-1)*-1)}.project-carousel-container{display:flex;padding-block:var(--space-1);align-items:stretch}.project-carousel-slide{box-sizing:border-box;display:flex;flex:0 0 min(80%,calc(var(--project-carousel-card-max-width) + var(--project-carousel-slide-gap)));padding-inline:calc(var(--project-carousel-slide-gap)/2);min-width:0}.project-carousel-slide-inner{display:flex;opacity:.45;width:100%}.project-carousel-slide-inner:not(.project-carousel-slide-inner-active){transition:opacity var(--transition-normal)}.project-carousel-slide-inner-active{opacity:1;transition:none}.project-carousel-scrolling .project-carousel-slide-inner:not(.project-carousel-slide-inner-active){transition:none}@media (min-width:768px){.project-carousel-slide{flex:0 0 min(64%,calc(var(--project-carousel-card-max-width) + var(--project-carousel-slide-gap)))}}.project-carousel .project-card-image{aspect-ratio:16/9}.project-carousel .project-card{height:100%}@media (hover:hover) and (pointer:fine){.project-carousel .project-card-image img{transition:transform var(--transition-slow);transform:scale(1)}.project-carousel .project-card:hover .project-card-image--cover img{transform:scale(1.08)}}.project-carousel .project-card-body{gap:var(--space-1);padding:var(--space-4)}.project-carousel .project-card-title{font-size:var(--text-base)}.project-carousel .project-card-summary{-webkit-line-clamp:2}.project-carousel-controls{display:flex;justify-content:center;align-items: center;gap:var(--space-3);padding-top:var(--space-1)}.project-carousel-control{display:inline-flex;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;justify-content:center;align-items: center;width:2.75rem;height:2.75rem;padding:0}@media (hover:hover) and (pointer:fine){.project-carousel-control{transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.project-carousel-control:hover{color:var(--color-accent);border-color:var(--color-border-hover);background:var(--color-accent-muted)}}.project-carousel-control:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.project-carousel-slide-inner:not(.project-carousel-slide-inner-active){transition:opacity var(--transition-fast)}}.publication-card{position:relative;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);display:flex;gap:var(--space-5);flex-direction:column}@media (hover:hover) and (pointer:fine){.publication-card{transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.publication-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}}.publication-card-overlay-link{position:absolute;z-index:1;inset:0}.publication-card-header{display:flex;align-items: flex-start;gap:var(--space-5)}.publication-card-logo{object-fit:contain;flex-shrink:0;width:72px;height:72px}.publication-card-header>.media-loading-shell{flex-shrink:0;width:72px;height:72px}.publication-card-header>.media-loading-shell>picture{height:100%}.publication-card-header-text{display:flex;gap:var(--space-1);flex-direction:column;min-width:0}.publication-card-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.publication-card-subtitle{font-size:var(--text-sm);color:var(--color-accent);font-weight:var(--weight-medium)}.publication-card-subtitle a{position:relative;z-index:2;color:inherit;text-decoration:none;transition:opacity var(--transition-fast)}.publication-card-subtitle a:hover{opacity:.8;text-decoration:underline}.publication-card-summary{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.publication-card-link{position:relative;z-index:2;display:inline-flex;align-items: center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-accent);text-decoration:none;transition:opacity var(--transition-fast)}.publication-card-link:hover{opacity:.8;text-decoration:underline}@media (max-width:640px){.publication-card{padding:var(--space-5)}.publication-card-header{text-align:center;flex-direction:column;align-items: center}}.about-page{--about-sports-accent:#2d8a6a;--about-spotify:#1db954;display:flex;gap:var(--space-16);flex-direction:column}.about-page>.home-section>.home-section-header,.about-intro-layout{width:100%}.about-intro-layout,.about-intro-copy{min-width:0}.about-intro-copy .prose{font-size:clamp(var(--text-base),.875rem + .25vw,var(--text-lg));color:var(--color-text-secondary)}.about-intro-copy .prose h2{margin-top:var(--space-8);margin-bottom:var(--space-3);color:var(--color-text-tertiary);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.12em;line-height:var(--leading-normal);text-transform:uppercase}.about-intro-copy .prose strong{color:var(--color-text-primary);font-weight:var(--weight-semibold)}.about-intro-copy .prose em{color:var(--color-text-primary)}.about-intro-copy .prose blockquote{max-width:var(--content-narrow-width);margin:var(--space-8)0;padding:var(--space-2)0 var(--space-2)var(--space-6);border-left:2px solid var(--color-text-primary);color:var(--color-text-primary);font-size:clamp(var(--text-xl),1.05rem + .6vw,var(--text-2xl));font-style:normal;font-weight:var(--weight-medium);letter-spacing:-.015em;line-height:var(--leading-normal)}.about-section{display:flex;gap:var(--space-6);flex-direction:column}.about-section-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3)var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.about-section-eyebrow{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;margin:0}.about-section-eyebrow-sports,.about-section-eyebrow-music{color:var(--color-text-primary)}.about-section-subtitle{font-size:var(--text-sm);color:var(--color-text-tertiary);margin:0}.about-sports-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5);align-items:stretch}.about-interest-card{display:flex;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-elevated);flex-direction:column;min-width:0}.about-interest-card-body{display:flex;gap:var(--space-3);padding:var(--space-6);flex-direction:column;flex:1}.about-interest-card-title{font-size:var(--text-xl);font-weight:var(--weight-bold);letter-spacing:-.02em;margin:0}.about-interest-card-description{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);flex:1}.about-interest-card-description .prose{font-size:inherit;color:inherit}.about-interest-card-description .prose>:first-child{margin-top:0}.about-interest-card-description .prose>:last-child{margin-bottom:0}.about-interest-card-links{display:flex;gap:var(--space-2);margin:var(--space-3)0 0;list-style:none;flex-wrap:wrap;padding:0}.about-interest-card-link{max-width:100%}.about-interest-card-link-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary);font-weight:var(--weight-medium)}.about-media-carousel{--media-skeleton-radius:0;position:relative;overflow:hidden;border-bottom:1px solid var(--color-border);background:var(--color-bg-hover);flex-shrink:0}.about-media-carousel-viewport{overflow:hidden}.about-media-carousel-container{display:flex;touch-action:pan-y pinch-zoom}.about-media-carousel-slide{flex:0 0 100%;min-width:0}.about-media-carousel-slide>.media-loading-shell{height:100%}.about-media-carousel-image{display:block;aspect-ratio:1;object-fit:cover;filter:grayscale(1);width:100%;height:auto}.about-media-carousel-slide picture{display:block}.about-media-carousel-image--focal-center{object-position:center center}.about-media-carousel-image--focal-center-46{object-position:center 46%}.about-media-carousel-image--focal-center-48{object-position:center 48%}.about-media-carousel-image--focal-center-58{object-position:center 58%}.about-media-carousel-image--focal-center-64{object-position:center 64%}.about-media-carousel-image--focal-45-center{object-position:45% center}.about-media-carousel-image--focal-56-54{object-position:56% 54%}.about-media-carousel-image--focal-60-center{object-position:60% center}.about-music-card{overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-elevated);min-width:0}.about-music-story{display:grid;grid-template-columns:minmax(16rem,.7fr)minmax(0,1.3fr);border-bottom:1px solid var(--color-border);align-items:stretch}.about-music-story>.about-media-carousel{border-right:1px solid var(--color-border);border-bottom:0;height:100%}.about-music-story .about-media-carousel-viewport,.about-music-story .about-media-carousel-container,.about-music-story .about-media-carousel-slide,.about-music-story .about-media-carousel-slide picture{height:100%}.about-music-story .about-media-carousel-image{aspect-ratio:auto;height:100%;min-height:20rem}.about-music-story-body{display:flex;justify-content:center;gap:var(--space-4);padding:clamp(var(--space-6),4vw,var(--space-12));flex-direction:column;min-width:0}.about-music-story-description{color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);max-width:54ch}.about-music-story-description .prose{font-size:inherit;color:inherit}.about-music-story-description .prose>:first-child{margin-top:0}.about-music-story-description .prose>:last-child{margin-bottom:0}.about-spotify-profile-button{display:grid;grid-template-columns:auto minmax(0,1fr)auto;align-self: flex-start;align-items: center;gap:var(--space-3);margin-top:var(--space-2);padding:var(--space-3)var(--space-4);border:1px solid var(--color-border-hover);border-radius:var(--radius-lg);background:var(--color-bg-hover);color:var(--color-text-primary);text-decoration:none;transition:border-color var(--transition-fast);min-width:min(100%,17rem);min-height:3.75rem}.about-spotify-profile-button:hover{border-color:var(--color-text-tertiary)}.about-spotify-profile-button:focus-visible{outline:3px solid var(--about-spotify);outline-offset:3px}.about-spotify-profile-button-icon{color:var(--about-spotify);width:2rem;height:2rem}.about-spotify-profile-button-copy{display:flex;flex-direction:column;gap:.125rem;min-width:0}.about-spotify-profile-button-title{font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.about-spotify-profile-button-label{font-size:var(--text-xs);line-height:var(--leading-tight);opacity:.72}.about-spotify-profile-button-external{flex-shrink:0}.about-music-library{display:grid;grid-template-columns:minmax(0,1.65fr)minmax(16rem,1fr)}.about-music-library-section{padding:var(--space-6);min-width:0}.about-music-library-section+.about-music-library-section{border-left:1px solid var(--color-border)}.about-music-list-label{margin:0 0 var(--space-3);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.1em;text-transform:uppercase}.about-music-track-links,.about-spotify-link-list{list-style:none;margin:0;padding:0}.about-music-track-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--space-6)}.about-music-track-links li,.about-spotify-link-list li{border-top:1px solid var(--color-border)}.about-music-track-links li:nth-child(-n+2),.about-spotify-link-list li:first-child{border-top:0}.about-music-library-link{display:grid;grid-template-columns:auto minmax(0,1fr)auto;align-items: center;gap:var(--space-3);margin-inline:calc(var(--space-2)*-1);padding:var(--space-2);border-radius:var(--radius-md);color:inherit;text-decoration:none;transition:background-color var(--transition-fast),color var(--transition-fast);min-height:4rem}.about-music-library-link:hover{background:var(--color-bg-hover)}.about-music-library-link:focus-visible{outline:2px solid var(--about-spotify);outline-offset:-2px}.about-music-library-link-icon{color:var(--about-spotify);width:1.25rem;height:1.25rem}.about-music-library-link-meta{display:flex;flex-direction:column;gap:.125rem;min-width:0}.about-music-library-link-title,.about-music-library-link-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.about-music-library-link-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);line-height:var(--leading-tight)}.about-music-library-link-detail{color:var(--color-text-secondary);font-size:var(--text-xs);line-height:var(--leading-tight)}.about-cta{display:flex;justify-content:flex-end;align-items: center;gap:var(--space-4);padding-block:var(--space-6);border-block:1px solid var(--color-border);flex-wrap:wrap}.about-cta a{font-weight:var(--weight-semibold);color:var(--color-accent);text-decoration:underline;text-underline-offset:.2em}@media (min-width:768px) and (max-width:1099px){.about-sports-grid{gap:var(--space-3)}.about-interest-card-body{gap:var(--space-2);padding:var(--space-4)}}@media (min-width:641px) and (max-width:900px){.about-music-story{grid-template-columns:clamp(14rem,34vw,17rem)minmax(0,1fr)}.about-music-story-body{padding:var(--space-6)}}@media (max-width:900px){.about-music-library{grid-template-columns:1fr}.about-music-library-section+.about-music-library-section{border-top:1px solid var(--color-border);border-left:0}}@media (max-width:767px){.about-sports-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.about-page{gap:var(--space-12)}.about-section-header{flex-direction:column;align-items: flex-start}.about-sports-grid,.about-music-story{grid-template-columns:1fr}.about-music-story>.about-media-carousel{border-right:0;border-bottom:1px solid var(--color-border)}.about-music-story .about-media-carousel-image{aspect-ratio:3/2;height:auto;min-height:0}.about-music-story .about-media-carousel-slide picture{height:auto}.about-music-story-body,.about-music-library-section{padding:var(--space-5)}.about-spotify-profile-button{width:100%}.about-music-track-links{grid-template-columns:1fr}.about-music-track-links li:nth-child(2){border-top:1px solid var(--color-border)}.about-music-library-link-title{overflow:visible;white-space:normal}}@media (prefers-reduced-motion:reduce){.about-spotify-profile-button,.about-music-library-link{transition:none}}.career-detail .prose h2{border-left:3px solid var(--detail-visible-accent);padding-left:var(--space-3)}.career-detail .prose h2{background:linear-gradient(110deg,var(--detail-visible-heading-gradient-start)0%,var(--detail-visible-heading-gradient-end)100%);-webkit-text-fill-color:transparent;border-left-color:var(--detail-visible-accent);-webkit-background-clip:text;background-clip:text}.career-detail .prose h3{font-weight:var(--weight-bold)}.career-detail .prose a{color:var(--detail-visible-accent)}.career-detail .prose a:hover{color:var(--detail-visible-accent-hover)}.career-detail .prose blockquote{border-left-color:var(--detail-visible-accent)}.contact-page{padding:var(--space-10)0 var(--space-16);width:100%}.contact-page-privacy{color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.contact-form{position:relative;padding:var(--space-6);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary)}.contact-form-content{display:grid;gap:var(--space-5);transition:filter var(--transition-normal),opacity var(--transition-normal)}.contact-form-content--covered{filter:blur(3px);opacity:.36;pointer-events:none;user-select:none}.contact-form h2{font-size:var(--text-xl);margin:0}.contact-form label{display:grid;gap:var(--space-2);color:var(--color-text-primary);font-weight:var(--weight-medium)}.contact-form input,.contact-form textarea{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);color:var(--color-text-primary);font:inherit;transition:border-color var(--transition-fast);width:100%;min-width:0;max-width:100%}.contact-form input:-webkit-any(:autofill,:-webkit-autofill){background:var(--color-bg-primary);box-shadow:inset 0 0 0 1000px var(--color-bg-primary);color:var(--color-text-primary);-webkit-text-fill-color:var(--color-text-primary);caret-color:var(--color-text-primary)}.contact-form input:-moz-any(:autofill,:autofill){background:var(--color-bg-primary);box-shadow:inset 0 0 0 1000px var(--color-bg-primary);color:var(--color-text-primary);-webkit-text-fill-color:var(--color-text-primary);caret-color:var(--color-text-primary)}.contact-form input:is(:autofill,:autofill){background:var(--color-bg-primary);box-shadow:inset 0 0 0 1000px var(--color-bg-primary);color:var(--color-text-primary);-webkit-text-fill-color:var(--color-text-primary);caret-color:var(--color-text-primary)}.contact-form textarea{resize:vertical}.contact-form input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.contact-form textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.contact-form button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.contact-form button{padding:var(--space-2)var(--space-5);border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-bg-primary);font:inherit;font-weight:var(--weight-semibold);cursor:pointer;border:0;justify-self:start;min-height:2.75rem}.contact-form button:disabled{cursor:wait;opacity:.7}.contact-form input.contact-form-honeypot{position:absolute;overflow:hidden;clip-path:inset(50%);border:0;width:1px;min-width:1px;max-width:1px;height:1px;padding:0}.contact-form-status{color:var(--color-text-secondary);min-height:1.5em;margin:0}.contact-form-field-error{color:var(--color-error,#b42318)}.contact-form-field-error{font-size:var(--text-sm);font-weight:var(--weight-regular)}.contact-form-validation-summary{padding:var(--space-4);border:1px solid var(--color-error,#b42318);border-radius:var(--radius-md);color:var(--color-text-primary)}.contact-form-validation-summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.contact-form-validation-summary p{font-weight:var(--weight-semibold);margin:0}.contact-form-validation-summary ul{margin:var(--space-2)0 0;padding-inline-start:var(--space-5)}.contact-form-validation-summary a{color:var(--color-error,#b42318);text-underline-offset:.2em}.contact-form [aria-invalid=true]{border-color:var(--color-error,#b42318)}.contact-page-privacy{margin-top:var(--space-5);font-size:var(--text-sm)}.contact-page-privacy a{color:inherit;text-underline-offset:.2em}@media (prefers-reduced-motion:reduce){.contact-form-content{transition:none}}.contact-success-overlay{--contact-success-duration:8s;position:absolute;z-index:1;display:grid;place-content: center;justify-items:center;gap:var(--space-5);padding:var(--space-8);overflow:hidden;border-radius:inherit;background:color-mix(in srgb,var(--color-bg-secondary)84%,transparent);color:var(--color-text-primary);text-align:center;backdrop-filter:blur(1.5px);inset:0}.contact-success-overlay-icon{position:relative;aspect-ratio:1;width:clamp(5.75rem,11vw,7rem)}.contact-success-overlay-circle,.contact-success-overlay-check{position:absolute;overflow:visible;color:currentColor}.contact-success-overlay-circle{width:100%;height:100%;inset:0}.contact-success-overlay-check{width:64%;height:64%;inset:18%}.contact-success-overlay-circle circle{stroke-dasharray:63;stroke-dashoffset:63;animation:contact-success-draw-stroke .6s var(--motion-ease-out)80ms forwards}.contact-success-overlay-check path{stroke-dasharray:22;stroke-dashoffset:22;animation:contact-success-draw-stroke .42s var(--motion-ease-out).46s forwards}.contact-success-overlay-message{font-size:var(--text-lg);font-weight:var(--weight-semibold);line-height:var(--leading-normal);max-width:32rem;margin:0}.contact-success-overlay-progress{position:absolute;opacity:.72;transform-origin:left center;animation:contact-success-countdown var(--contact-success-duration)linear forwards;background:currentColor;height:2px;bottom:0;left:0;right:0;transform:scaleX(1)}.contact-success-overlay--reduced-motion .contact-success-overlay-circle circle,.contact-success-overlay--reduced-motion .contact-success-overlay-check path{stroke-dashoffset:0;animation:none}.contact-success-overlay--reduced-motion .contact-success-overlay-progress{animation:none}@keyframes contact-success-draw-stroke{to{stroke-dashoffset:0}}@keyframes contact-success-countdown{to{transform:scaleX(0)}}@media (max-width:480px){.contact-success-overlay{gap:var(--space-4);padding:var(--space-6)}.contact-success-overlay-message{font-size:var(--text-base)}}.not-found{display:flex;padding:var(--space-24)0;text-align:center;flex-direction:column;justify-content:center;align-items: center}.not-found-code{font-size:clamp(4rem,20vw,6rem);font-weight:var(--weight-bold);color:var(--color-text-tertiary);line-height:1}.not-found-message{font-size:var(--text-lg);color:var(--color-text-secondary);margin-top:var(--space-4)}.not-found-link{margin-top:var(--space-6);color:var(--color-accent);font-weight:var(--weight-medium)}.not-found-link:hover{color:var(--color-accent-hover)}.privacy-page{padding:var(--space-10)0 var(--space-16);color:var(--color-text-secondary);line-height:var(--leading-relaxed);width:100%}.privacy-page-intro{margin:0}.privacy-page-updated{margin:var(--space-5)0 0;font-size:var(--text-sm);color:var(--color-text-tertiary)}.privacy-page-card{margin-top:var(--space-8);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary)}.privacy-page-section{padding:var(--space-6)}.privacy-page-section+.privacy-page-section{border-top:1px solid var(--color-border)}.privacy-page-section h2{color:var(--color-text-primary);font-size:var(--text-xl);margin:0}.privacy-page-section p{margin:var(--space-3)0 0}@media (max-width:640px){.privacy-page-section{padding:var(--space-5)var(--space-4)}}.project-detail-page{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.project-detail-body{max-width:var(--content-prose-width);padding:var(--space-12)var(--space-6)var(--space-16);margin:0 auto}.project-detail-body .prose h2{padding-left:var(--space-3);border-left:3px solid var(--detail-visible-accent);background:linear-gradient(110deg,var(--detail-visible-accent)0%,var(--detail-visible-accent-hover)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.project-detail-body .prose a{color:var(--detail-visible-accent)}.project-detail-body .prose a:hover{color:var(--detail-visible-accent-hover)}.project-detail-body .prose blockquote{border-left-color:var(--detail-visible-accent)}.project-detail-page .prose-figure{margin-inline-start:auto;margin-inline-end:auto}.project-detail-page .prose-figure-image{object-fit:contain;margin-inline-start:auto;margin-inline-end:auto}.project-image-caption{margin-top:var(--space-3);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-text-secondary);text-align:center}.project-gallery{display:flex;align-items: center;gap:var(--space-8);margin-top:var(--space-10);padding-top:var(--space-10);border-top:1px solid var(--color-border);flex-direction:column}.project-gallery-figure{--media-skeleton-radius:var(--radius-lg);width:100%;margin:0 auto}.project-gallery-image{display:block;border-radius:var(--radius-lg);object-fit:contain;width:100%;height:auto;margin-inline-start:auto;margin-inline-end:auto}@media (max-width:640px){.project-detail-body{padding:var(--space-8)var(--space-4)var(--space-12)}}.project-story-section+.project-story-section{margin-top:var(--space-8)}.project-story-media{display:flex;align-items: center;gap:var(--space-6);margin-top:var(--space-8);flex-direction:column}.project-story-media--grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items: start}.project-story-figure{--media-skeleton-radius:var(--radius-lg);width:100%;min-width:0;margin:0 auto}.project-story-figure--portrait{width:min(76%,22rem)}.project-story-image{display:block;border-radius:var(--radius-lg);object-fit:contain;width:100%;height:auto}@media (max-width:640px){.project-story-media--grid{grid-template-columns:1fr}}.projects-page-list{display:flex;gap:var(--space-8);flex-direction:column}.projects-page-list .project-showcase{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.projects-page-loading{padding:var(--space-8)0;text-align:center;color:var(--color-text-secondary)}.publication-detail-page{--publication-accent:#24368c;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}[data-theme=dark] .publication-detail-page{--publication-accent:#91a8ff}.publication-hero{border-bottom:1px solid var(--color-border);background:var(--color-bg-primary)}.publication-hero-inner{width:min(100%,var(--content-max-width));padding:var(--space-10)clamp(var(--space-6),5vw,var(--space-16))var(--space-16);margin:0 auto}.publication-hero-back{display:inline-flex;align-items: center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;transition:color var(--transition-fast)}.publication-hero-back:hover{color:var(--color-text-primary)}.publication-hero-grid{display:grid;grid-template-columns:minmax(0,1fr)minmax(20rem,28rem);align-items: start;gap:clamp(var(--space-12),7vw,var(--space-24));margin-top:var(--space-12)}.publication-hero-copy{min-width:0}.publication-hero-title{font-size:clamp(2.5rem,4.25vw,4rem);font-weight:var(--weight-semibold);letter-spacing:-.045em;text-wrap:balance;max-width:100%;margin:0;line-height:1.02}.publication-hero-identity{display:flex;align-items: center;gap:var(--space-6);margin-top:var(--space-8)}.publication-hero-logo{flex:none;width:clamp(6.5rem,10vw,8rem);height:auto}.publication-hero-identity>.media-loading-shell{flex:none;width:clamp(6.5rem,10vw,8rem)}.publication-hero-identity>.media-loading-shell .publication-hero-logo{width:100%}.publication-hero-subtitle{color:var(--color-text-primary);font-size:var(--text-base);font-weight:var(--weight-medium);margin:0}.publication-hero-actions{display:flex;gap:var(--space-8);margin-top:var(--space-8);flex-wrap:wrap}.publication-hero-action{display:inline-flex;align-items: center;gap:var(--space-2);color:var(--publication-accent);font-size:var(--text-sm);font-weight:var(--weight-medium);text-decoration:none;text-underline-offset:.2em;min-height:2.75rem}.publication-hero-action:hover{text-decoration:underline}.publication-hero-action:focus-visible{outline:2px solid var(--publication-accent);outline-offset:2px}.publication-hero-introduction{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--color-border);max-width:34rem}.publication-hero-introduction .prose h2{margin-top:0}.publication-hero-figure{--media-skeleton-radius:var(--radius-md);margin:0}.publication-hero-image{display:block;aspect-ratio:3/4;border-radius:var(--radius-md);object-fit:cover;width:100%;height:auto}@media (max-width:900px){.publication-hero-grid{grid-template-columns:1fr;gap:var(--space-10)}.publication-hero-title,.publication-hero-introduction{max-width:42rem}.publication-hero-figure{max-width:36rem}}@media (max-width:640px){.publication-hero-inner{padding:var(--space-6)var(--space-4)var(--space-8)}.publication-hero-grid{gap:var(--space-8);margin-top:var(--space-7)}.publication-hero-title{max-width:none;font-size:clamp(2.125rem,9vw,2.375rem);line-height:1.04}.publication-hero-identity{justify-content:space-between;align-items: center;gap:var(--space-5);margin-top:var(--space-5)}.publication-hero-logo{width:5rem}.publication-hero-subtitle{font-size:var(--text-sm);line-height:var(--leading-normal);text-align:right;max-width:15rem}.publication-hero-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-3);margin-top:var(--space-6)}.publication-hero-action{padding:var(--space-3)var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);line-height:var(--leading-tight);transition:color var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast);justify-content:space-between;min-width:0;min-height:3rem}.publication-hero-action:hover{border-color:var(--publication-accent);background:var(--color-bg-hover);text-decoration:none}.publication-hero-action svg{flex:none}.publication-hero-introduction{margin-top:var(--space-6);padding-top:var(--space-6)}}.publication-story{background:var(--color-bg-primary)}.publication-story-inner{width:min(100%,var(--content-max-width));padding:var(--space-16)clamp(var(--space-6),5vw,var(--space-16))var(--space-24);margin:0 auto}.publication-story-feature{display:grid;grid-template-columns:minmax(0,1.45fr)minmax(18rem,.85fr);align-items: center;gap:clamp(var(--space-10),7vw,var(--space-24))}.publication-story-figure{--media-skeleton-radius:var(--radius-md);margin:0}.publication-story-image{display:block;aspect-ratio:16/9;border-radius:var(--radius-md);object-fit:cover;width:100%;height:auto}.publication-story-copy .prose h2{margin-top:0}.publication-story-conclusion{margin-top:var(--space-16);padding-top:var(--space-12);border-top:1px solid var(--color-border);max-width:56rem}.publication-story-conclusion>.prose+.prose{margin-top:var(--space-10)}@media (max-width:900px){.publication-story-feature{grid-template-columns:1fr;gap:var(--space-8)}.publication-story-copy,.publication-story-conclusion{max-width:var(--content-prose-width)}}@media (max-width:640px){.publication-story-inner{padding:var(--space-6)var(--space-4)var(--space-16)}.publication-story-feature{gap:var(--space-6)}.publication-story-conclusion{margin-top:var(--space-8);padding-top:var(--space-8)}}.tech-stack-controls{display:flex;gap:var(--space-4);margin-bottom:var(--space-6);flex-direction:column}.tech-stack-toolbar{display:grid;grid-template-columns:minmax(14rem,28rem)max-content 1fr;align-items: center;gap:var(--space-3);width:100%}.tech-stack-guide{justify-self:end}.tech-stack-field{display:flex;min-width:0}.tech-stack-search{padding:var(--space-2)var(--space-3);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);width:100%;height:36px}.tech-stack-search:focus{outline:none;border-color:var(--color-accent)}.tech-stack-empty{color:var(--color-text-secondary)}.tech-stack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.tech-stack-updated{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-tertiary);text-align:center}@media (max-width:768px){.tech-stack-toolbar{grid-template-columns:minmax(0,1fr)max-content}.tech-stack-field{grid-column:1/-1}.tech-stack-guide{grid-column:2}}@media (max-width:640px){.tech-stack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3)}}@media (max-width:480px){.tech-stack-toolbar{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.tech-stack-field,.tech-stack-guide{grid-column:1}.tech-stack-guide,.tech-stack-guide .gradient-border,.tech-stack-guide .proficiency-guide-trigger{width:100%}}@media (pointer:coarse){.tech-stack-search{height:44px}}.proficiency-guide-trigger{display:inline-flex;justify-content:center;align-items: center;gap:var(--space-2);height:calc(36px - var(--border-width,3px) - var(--border-width,3px));padding:0 var(--space-3);font:inherit;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary);white-space:nowrap;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:color var(--transition-fast),transform var(--transition-fast)}.proficiency-guide-trigger:hover{color:var(--color-accent)}.proficiency-guide-trigger:active{transform:scale(.97)}.proficiency-guide-trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.proficiency-guide-trigger-icon{width:17px;height:17px}.proficiency-guide-intro,.proficiency-guide-context,.proficiency-guide-disclaimer{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0}.proficiency-guide-intro,.proficiency-guide-context{margin-bottom:var(--space-4)}.proficiency-guide-disclaimer{padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid var(--color-border)}.proficiency-guide-levels{display:grid;list-style:none;gap:0;margin:0;padding:0}.proficiency-guide-level{padding:var(--space-4)0;border-bottom:1px solid var(--color-border)}.proficiency-guide-level:first-child{padding-top:0}.proficiency-guide-level:last-child{border-bottom:0;padding-bottom:0}.proficiency-guide-level-heading{display:flex;align-items: center;gap:var(--space-3)}.proficiency-guide-level-heading .proficiency-badge{flex:0 0 52px}.proficiency-guide-level-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.proficiency-guide-level-description{margin:var(--space-1)0 0 64px;font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}@media (max-width:480px){.proficiency-guide-level-description{margin-left:0}}@media (pointer:coarse){.proficiency-guide-trigger{height:calc(44px - var(--border-width,3px) - var(--border-width,3px))}}.sort-dropdown{display:inline-flex;align-items: center;gap:var(--space-2);min-width:0}.sort-dropdown-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);white-space:nowrap}.sort-dropdown-control{min-width:0}.sort-dropdown-control .select-dropdown-trigger{color:var(--color-text-primary);text-align:left;justify-content:flex-start;min-width:11.5rem}.sort-dropdown-control .select-dropdown-trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:480px){.sort-dropdown{width:100%}.sort-dropdown-control{flex:1}.sort-dropdown-control .select-dropdown-trigger{width:100%}}.tech-card{--tech-card-logo-guard-delay:56ms;perspective:1000px;height:100%}.tech-card-inner{display:grid;position:relative;transform-style:preserve-3d;transition:transform var(--transition-slow);height:100%}.tech-card-inner[data-flipped=true]{transform:rotateY(180deg)}.tech-card-face{grid-area:1/1;display:flex;text-align:center;align-items: center;gap:var(--space-3);font:inherit;color:inherit;cursor:pointer;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);flex-direction:column;width:100%;margin:0}.tech-card-face:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.tech-card-face:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tech-card-front{justify-content:center}.tech-card-front:active{transform:scale(.98)}.tech-card-back{position:relative;cursor:default;justify-content:center;transform:rotateY(180deg)}.tech-card-back:hover{border-color:var(--color-border);box-shadow:var(--shadow-sm)}.tech-card-flip-back{position:absolute;top:var(--space-1);right:var(--space-1);display:flex;font-size:var(--text-base);color:var(--color-text-tertiary);border-radius:var(--radius-full);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items: center;width:2.75rem;height:2.75rem;margin:0;padding:0;line-height:1}.tech-card-flip-back:hover{color:var(--color-text-primary);background:var(--color-accent-muted)}.tech-card-flip-back:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tech-card-icon-layer{display:inline-flex;opacity:1;transition:opacity 0s var(--tech-card-logo-guard-delay);flex-shrink:0}.tech-card-inner[data-flipped=true]>.tech-card-front .tech-card-icon-layer{opacity:0}.tech-card-icon{object-fit:contain;flex-shrink:0}.tech-card-info{display:flex;flex-direction:column;gap:2px;min-width:0}.tech-card-name{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text-primary);line-height:var(--leading-tight)}.tech-card-category{font-size:var(--text-xs);color:var(--color-text-tertiary)}.tech-card-flip-hint{font-size:var(--text-sm);color:var(--color-text-tertiary);opacity:.6;transition:opacity var(--transition-fast)}.tech-card-front:hover .tech-card-flip-hint{opacity:1}.tech-card-back-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.tech-card-meta{display:flex;align-items: center;gap:var(--space-1);flex-direction:column}.tech-card-meta-item{font-size:var(--text-xs);color:var(--color-text-secondary)}.tech-card-used-at{display:flex;align-items: center;gap:var(--space-2);margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);flex-direction:column;width:100%}.tech-card-used-at-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-tertiary)}.tech-card-entry-list{display:flex;justify-content:center;gap:var(--space-2);flex-wrap:wrap}.tech-card-entry{position:relative;display:inline-flex;border-radius:var(--radius-md);text-decoration:none}.tech-card-entry:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tech-card-entry-image,.tech-card-entry-placeholder{border-radius:var(--radius-md);object-fit:contain;background:#f0eef5;width:28px;height:28px;padding:3px}.tech-card-entry>.media-loading-shell{flex-shrink:0;width:28px;height:28px}.tech-card-entry>.media-loading-shell>picture{height:100%}.tech-card-entry-placeholder{display:flex;background:var(--color-accent-muted);color:var(--color-accent);font-size:var(--text-xs);font-weight:var(--weight-bold);justify-content:center;align-items: center}.tech-card-entry-label{position:absolute;bottom:calc(100% + var(--space-1));z-index:2;white-space:nowrap;padding:2px var(--space-2);font-size:var(--text-xs);color:var(--color-bg-elevated);background:var(--color-text-primary);border-radius:var(--radius-sm);opacity:0;pointer-events:none;transition:opacity var(--transition-fast);left:50%;transform:translate(-50%)}.tech-card-entry:hover .tech-card-entry-label,.tech-card-entry:focus-within .tech-card-entry-label{opacity:1}@media (max-width:640px){.tech-card-face{gap:var(--space-2);padding:var(--space-3)}.tech-card-name{font-size:var(--text-sm)}}@media (prefers-reduced-motion:reduce){.tech-card{--tech-card-logo-guard-delay:0s}.tech-card-inner{transition:none}}@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes rotate-border{to{--angle:360deg}}.gradient-border{--primary-1:var(--color-accent);--primary-2:var(--color-accent-secondary);--shine:var(--color-accent-shine);--border-width:3px;--glow-size:3px;--speed:3s;--radius:var(--radius-lg);position:relative;border-radius:var(--radius);padding:var(--border-width);isolation:isolate}.gradient-border:not(.gradient-border--pill):not(.gradient-border--inline){width:100%}.gradient-border--inline{display:inline-flex;width:auto}.gradient-border:before{content:"";position:absolute;border-radius:inherit;padding:var(--border-width);background:conic-gradient(from var(--angle),var(--primary-1)0%,var(--primary-2)22%,var(--shine)34%,var(--shine)42%,var(--primary-2)56%,var(--primary-1)100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:rotate-border var(--speed)linear infinite;z-index:0;inset:0}.gradient-border:after{content:"";position:absolute;border-radius:inherit;padding:var(--border-width);background:conic-gradient(from var(--angle),var(--primary-1)0%,var(--primary-2)22%,var(--shine)34%,var(--shine)42%,var(--primary-2)56%,var(--primary-1)100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;filter:blur(var(--glow-size));opacity:.8;animation:rotate-border var(--speed)linear infinite;z-index:-1;inset:0}.gradient-border>*{position:relative;z-index:1;border-radius:max(0px,calc(var(--radius) - var(--border-width)))}.gradient-border>.hero-contact-social-link,.gradient-border>.timeline-see-more-link,.gradient-border>.proficiency-guide-trigger{box-shadow:inset 0 0 0 1px var(--color-border);border:none}@media (hover:hover) and (pointer:fine){.gradient-border--hover:has(>.project-card){transition:transform var(--transition-fast)}.gradient-border--hover:hover:has(>.project-card){transform:translateY(-2px)}}.gradient-border--hover:before,.gradient-border--hover:after{opacity:0;animation:none}@media (hover:hover) and (pointer:fine){.gradient-border--hover:before,.gradient-border--hover:after{transition:opacity var(--transition-fast)}.gradient-border--hover:hover:before{opacity:1;animation:rotate-border var(--speed)linear infinite}.gradient-border--hover:hover:after{opacity:.8;animation:rotate-border var(--speed)linear infinite}.gradient-border--hover:hover>.project-card,.gradient-border--hover:hover>.timeline-card,.gradient-border--hover:hover>.hero-contact-social-link,.gradient-border--hover:hover>.timeline-see-more-link,.gradient-border--hover:hover>.proficiency-guide-trigger{box-shadow:none;border-color:#0000}}.gradient-border--pill{--radius:var(--radius-full);display:inline-flex;border-radius:var(--radius-full)}.gradient-border--pill>*{border-radius:var(--radius-full)}@media (prefers-reduced-motion:reduce){.gradient-border:before,.gradient-border:after{animation:none}}
